第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

定義 Django 模型約束

定義 Django 模型約束

函數(shù)式編程 2022-06-28 15:58:21
我想將約束添加到涉及對另一個(gè)模型對象的引用的模型上。在下面的代碼中,我希望在 ProjectMember 模型上, project_member 字段被限制為與項(xiàng)目模型中的 project_creator 不同。class User(models.Model):  fullname = models.CharField(max_length=200)  email = models.EmailField(max_length=254)  password = models.CharField(max_length=254)class Project(models.Model):  name = models.CharField(max_length=200)  timestamp = models.DateTimeField("date created", auto_now=True)  project_creator = models.ForeignKey(User, on_delete=models.CASCADE)class ProjectMember(models.Model):  project = models.ForeignKey(Project, on_delete=models.CASCADE)  project_member = models.ForeignKey(      User,      on_delete=models.CASCADE,      verbose_name="member of the project"  )  class Meta:      order_with_respect_to = 'user_member'      constraints = [          models.CheckConstraint(check= ,              name='project creator not project member'),      ]
查看完整描述

1 回答

?
元芳怎么了

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以像這樣將它添加到 Q 對象中,


class Meta:

  order_with_respect_to = 'user_member'

  constraints = [

      models.CheckConstraint(check=~Q(project_member_id=project__project_creator_id) , 

         name='project creator not project member'),

  ]

希望這可以幫助!


查看完整回答
反對 回復(fù) 2022-06-28
  • 1 回答
  • 0 關(guān)注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號