考虑这个的Django代码:检查对象在DB(Django的)存在
class User(models.Model):
name = models.CharField(null=True, blank=False, verbose_name=_("Name"), help_text='User Name', max_length=256)
class UsersGroup(models.Model):
name = models.CharField(null=False, blank=False, verbose_name=_("Name"), help_text='Users Group Name', max_length=256)
users = models.ManyToManyField(User)
# ...
with transaction.atomic():
group.users.add(user)
如果什么用户从DB交易开始前删除吗?它会将不存在的用户添加到group.users
。这是一个错误。
在这种情况下如何保护数据库完整性?
@MosesKoledoye用户是广告通过Web界面。我不明白你:这与用户的添加方式有什么关系? – porton