如果我的问题被证明是愚蠢的,我深表歉意,但我对 Django 很陌生,我无法在任何地方找到答案。
我有以下模型:
class BlackListEntry(models.Model):
user_banned = models.ForeignKey(auth.models.User,related_name="user_banned")
user_banning = models.ForeignKey(auth.models.User,related_name="user_banning")
现在,当我尝试创建这样的对象时:
BlackListEntry.objects.create(user_banned=int(user_id),user_banning=int(banning_id))
我收到以下错误:
Cannot assign "1": "BlackListEntry.user_banned" must be a "User" instance.
当然,如果我用这样的东西替换它:
user_banned = User.objects.get(pk=user_id)
user_banning = User.objects.get(pk=banning_id)
BlackListEntry.objects.create(user_banned=user_banned,user_banning=user_banning)
一切正常。问题是:
我的解决方案是否命中数据库以检索两个用户,如果是,是否可以避免它,只传递 id?