我定义了一个抽象类,它有一个ForeignKey
。我有多个派生模型类,但是当我试图生成模式迁移脚本时,south向我显示了一个错误。在
class BlogEntryBase(models.Model):
author = models.CharField(null=True, blank=True, max_length=100)
title = models.CharField(null=True, blank=True, max_length=255)
created_by = models.ForeignKey("main.UserProfile", verbose_name="Created By", related_name="%(class)s_set", blank=False, null=False)
class CatBlogEntry(BlogEntryBase):
pass
class DogBlogEntry(BlogEntryBase):
pass
错误消息:
^{pr2}$如您所见,我已经指定了related_name
参数。我想问题是在UserProfile
一侧会有两个set对象,它们会以某种方式冲突?如您所见,我试图像"%(class)s"
那样置换相关名称,但这还不够。我不想把外键类移到派生类中,因为可能我不得不重复视图和表单代码。
有人有什么建议吗?我的目标是干的。将这两个blog表分开,但是要用通用的模板、视图和表单代码来处理它们。在
注意:"main.UserProfile"
是一个避免循环模块依赖的字符串。在
我把我的例子简化得如此之多,以至于我实际上漏掉了错误的原因。实际上我有两个外键,总共有8条错误消息。
ForeignKeys
引用同一个实体,UserProfile
:created_by
,modified_by
。问题是我用了但我需要区分这两个
^{pr2}$是这样的:
相关问题 更多 >
编程相关推荐