Python 如果我希望一个列表只由一个用户编写,那么models.py应该是什么样子?[用户可以创建多个列表]]
这是models.py:Python 如果我希望一个列表只由一个用户编写,那么models.py应该是什么样子?[用户可以创建多个列表]],python,django,models,Python,Django,Models,这是models.py: class List(models.Model): ''' This is the database table definition of List objects ''' user=models.ForeignKey(User,on_delete=models.CASCADE) name=models.CharField(blank=False,max_length=255) timestamp=models.DateTimeField(auto_now_add=T
class List(models.Model):
'''
This is the database table definition of List objects
'''
user=models.ForeignKey(User,on_delete=models.CASCADE)
name=models.CharField(blank=False,max_length=255)
timestamp=models.DateTimeField(auto_now_add=True)
class Meta:
unique_together=['name','user']
ordering = ['-timestamp']
def __str__(self):
return self.name
def __unicode__(self):
return self.name
这将产生一个错误:
user_obj1 = get_user_obj_by_name('Conor Lalor')
user_obj2=get_user_obj_by_name()
list_obj = List.objects.create(
user=user_obj1,
name='demo_list',
)
#with self.assertRaises(ValidationError):
user_obj2.list_set.add(list_obj)
所以我的问题是我应该如何设计我的models.py以获得所需的错误或验证。我知道可以在forms.py中进行清理,但是在这个级别上,我应该如何产生这个简单的错误?
提前感谢。为什么会出现错误?您在标题中明确指出,一个用户可以有多个列表。是的,但是一个包含一个用户的列表不能用于另一个用户@DanielRoseman为什么会出现错误?您在标题中明确指出,一个用户可以有多个列表。是的,但是一个包含一个用户的列表不能用于另一个用户@丹尼尔罗斯曼