django中models联合唯一unique_together

例:

文章点赞

class ArticleUpDown(models.Model):    """    点赞表    """    nid = models.AutoField(primary_key=True)    user = models.ForeignKey(to="UserInfo", null=True, on_delete=models.CASCADE)    article = models.ForeignKey(to="Article", null=True, on_delete=models.CASCADE)    is_up = models.BooleanField(default=True)

    class Meta:        unique_together = (("article", "user"),)        verbose_name="点赞"        verbose_name_plural=verbose_name

意思为在这个表中,每一行的user、artical字段必须唯一,否则报错。


原文地址:https://www.cnblogs.com/ttyypjt/p/10672343.html

时间: 2024-10-16 03:26:36

django中models联合唯一unique_together的相关文章

django中models和forms阅读笔记

一.使用数据库需要设置settings.py文件. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': '', # Or path to database file if using sqlite3. 'USER': '', # Not used with sqlite3. 'PASSWORD

西游之路——python全栈——django中models配置

目录 Django支持多种数据库,sqlite,mysql,oracle等,其默认数据库是sqlite 在settings文件中可以发现: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } 其默认数据库是sqlite3 要想使用其他数据库,需要修改相应的引擎和配置 (1)sqlite: 'ENGINE': 'dja

django中models的filter过滤方法

__gt     大于__gte   大于等于 __lt      小于 __lte    小于等于 __in     存在于一个list范围内 __startswith    以...开头 __istartswith   以...开头忽略大小写 __endswith     以...结尾 __iendswith    以...结尾,忽略大小写 __range   在...范围内 __year      日期字段的年份 __month   日期字段的月份 __day        日期字段的日

django项目数据库中 表结构设计 和 同一表中设置多个联合唯一 存在的问题分析

问题描述: 我现在有的表结构是班级表,课程表,班级表的主要结构如下 课程名称 学 期 校 区 任课老师 s class_title time campuses teachers 表结构中:class_title,time,campusees必须设置联合唯一,所以在django中的modes.py 文件中设置如下 from django.db import models class ClassList(models.Model): """ 班级表 ""&qu

项目中客户端,服务端验证,数据库联合唯一约束,事务管理。

项目中有个需求,发布一个活动,记录下参加该活动的id和参与人id,同时调用接口,往收藏夹中添加一条记录,往交易表中添加一条记录.最后根据返回的结果,给出不同的提示信息. 1.如果当前的在jsp页面上面做处理,判断是否参与过.参加过之后,参加按钮不可点.没有参加的情况,参加按钮可以点. 2.jsp客户端加上js处理,参加按钮点击完之后,按钮不可点. 3.在controller中,业务逻辑开始前,再次java判断是否参加过该活动. 4.在数据库中参与表(活动id,参与人id)加上联合唯一约束.根据异

django中的models模块及数据库一些基本操作

使用django自带的轻量级数据库sqlite mvc 开发模式(Java,php)             django是mtv模式 m------model 操作数据库的          m------model 操作数据库的 v------view视图                          t------template视图 c------controller控制逻辑             v------view控制逻辑 1.首先定义表及字段 在models.py中,然后在

web框架-(七)Django补充---models进阶操作及modelform操作

通过之前的课程我们可以对于Django的models进行简单的操作,今天了解下进阶操作和modelform: 1. Models进阶操作 1.1 字段操作 AutoField(Field) - int自增列,必须填入参数 primary_key=True AutoField(int自增列) BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True BigAutoField 注:当model中如果没有自增列,则自动会创建一个列名为id的

四 Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

Django框架,models.py模块,数据库操作--创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, oracle,postgresql数据库. 1,django默认使用sqlite的数据库,默认自带sqlite的数据库驱动   引擎名称:django.db.backends.sqlite3 在全局配置文件settings.py可以看到确认配置使用的sqlite数据库 # Database # h

Django中的app及mysql数据库篇(ORM操作)

Django常见命令 在Django的使用过程中需要使用命令让Django进行一些操作,例如创建Django项目.启动Django程序.创建新的APP.数据库迁移等. 创建Django项目 一把我们都新建一个文件夹来存放项目文件,切换到这个目录下,启动命令行工具.创建一个名为mysite的Django项目: django-admin startproject mysite 创建好项目之后,可以查看当前目录下多出一个名为mysite的文件夹,mysite的文件夹目录结构如下: mysite/ ma