Django用户的默认外键值

2024-04-30 00:27:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个通读http://www.b-list.org/weblog/2006/jun/06/django-tips-extending-user-model/,但在使用ForeignKey为产品列表中的用户迁移新的db模式时仍然遇到问题

我的代码的简化版本是:

from django.contrib.auth.models import User
# other imports

class Product(models.Model):

 author = models.ForeignKey(User)
 # other product fields..

但是当我试图迁移到South时,这可能是个问题,因为我的用户数据库不是由South处理的(??请原谅我的新手)我遇到了需要设置默认值的错误:

^{pr2}$

有人能解释一下我做错了什么吗??理想情况下,我不希望为用户设置默认值,或者至少为null、false或0(但这似乎不起作用)。。在

非常感谢

亚当


Tags: django用户orghttpmodelswwwjunlist
2条回答

最终采取了简单的方法,完全重置了产品表,并从零开始迁移,这是可行的。不确定我学到了什么(除了如何重置应用程序)!在

如果希望author的值为空,则需要用null=True定义ForeignKey。您可能还需要blank=True,因为它控制Django表单中的验证。在

author = models.ForeignKey(User, null=True, blank=True)

相关问题 更多 >