[英]TypeError: 'UniqueConstraint' object is not iterable in Django
當我使用UniqueConstraint
設置多個唯一字段時:
class Meta:
constraints = (models.UniqueConstraint(fields=['student', 'classroom', 'code'], name='student_classroom_code'))
並運行python manage.py makemigrations
此錯誤:
TypeError: 'UniqueConstraint' object is not iterable
這有什么問題?
您需要將可迭代分配給約束。 您缺少,
in (models.UniqueConstraint(...),)
,這意味着您正在分配models.UniqueConstraint
實例而不是元組。
class Meta:
constraints = (models.UniqueConstraint(fields=['student', 'classroom', 'code'], name='student_classroom_code'),)
該錯誤僅意味着它不可迭代。 嘗試像這樣定義它
例如
class Meta:
constraints = [models.UniqueConstraint(fields['app_uuid', 'version_code'], name='unique appversion')]
Python 元組在關閉,
至少需要一個。 如果你不指定這個,
,解釋器把它當作一個組,類型將是括號內的 var
例子:
t = ('i am a tuple',) # this is good
t = ('i am not a tuple') # this is bad
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.