我已阅读http://www.b-list.org/weblog/2006/jun/06/django-tips-extending-user-model/,但仍然无法使用ForeignKey为产品列表中的用户迁移新的数据库架构
我的代码的简化版本是:
from django.contrib.auth.models import User
# other imports
class Product(models.Model):
author = models.ForeignKey(User)
# other product fields..
但是当我尝试迁移到南方时,这可能是问题,因为我的用户数据库不是由南方处理的(原谅我的新手)我得到的错误是需要设置默认值:< / p>
_mysql_exceptions.OperationalError: (1067, "Invalid default value for 'author_id'")
谁能解释我做错了什么?理想情况下,我不想要用户的默认值,或者至少为null,false或0(但这似乎不起作用)..
非常感谢,亚当
答案 0 :(得分:0)
如果您希望author
的值为空,则需要使用null=True
定义ForeignKey。您可能也需要blank=True
,因为它控制Django表单中的验证。
author = models.ForeignKey(User, null=True, blank=True)
答案 1 :(得分:0)
完成简单的路线并完全重置产品表,并从头开始迁移工作。不确定我学到了什么(除了如何重置应用程序)!