Django model中设置多个字段联合唯一约束

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django model中设置多个字段联合唯一约束相关的知识,希望对你有一定的参考价值。

1,直接通过 models.ManyToManyField

 

from django.db import models

class UserInfo(models.Model):
username = models.CharField(max_length=32)
password = models.CharField(max_length=64)

class NewsType(models.Model):
caption = models.CharField(max_length=16)

class News(models.Model):
title = models.CharField(verbose_name=‘标题‘,max_length=32)
url = models.CharField(verbose_name=‘URL‘,max_length=255)
avatar = models.CharField(verbose_name=‘头像‘,max_length=255)
summary = models.CharField(verbose_name=‘简介‘,max_length=255)
new_type = models.ForeignKey(verbose_name=‘新闻类型‘,to="NewsType")
user = models.ForeignKey(verbose_name=‘发布者‘,to=‘UserInfo‘,related_name=‘c‘)
ctime = models.DateTimeField(verbose_name=‘创建时间‘,auto_now_add=True)
like_count = models.IntegerField(default=0)
comment_count = models.IntegerField(default=0)

like = models.ManyToManyField(to=‘UserInfo‘)



class Comment(models.Model):
content = models.CharField(verbose_name=‘评论内容‘,max_length=255)
new = models.ForeignKey(verbose_name=‘评论的新闻ID‘,to=‘News‘)
user = models.ForeignKey(verbose_name=‘评论者‘,to=‘UserInfo‘)
ctime = models.DateTimeField(verbose_name=‘评论时间‘, auto_now_add=True)

以上是关于Django model中设置多个字段联合唯一约束的主要内容,如果未能解决你的问题,请参考以下文章

Django model 中设置联合约束和联合索引

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

如何在Django Db记录中设置多个字段

django-ORM-常用字段,常用参数,索引,联合唯一索引,联合索引(不唯一)

如何在 Sql Server 2008 中设置唯一约束 [重复]

如何在Razor中设置隐藏值