Django syncdb,通过类具有多个字段

2024-10-02 22:29:13 发布

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

我正在尝试为Django项目创建数据库表。在ArztFachbereichArztFachbereich之间有许多关系。你知道吗

class Fachbereich(models.Model):
    id = models.IntegerField(db_column='FachID', primary_key=True)
    name = models.CharField(db_column='Name', unique=True, max_length=100)

class Arzt(models.Model):
    name = models.CharField(max_length=500)
    fachbereich = models.ManyToManyField(Fachbereich, through=ArztFachbereich)

class ArztFachbereich(FachbereichUndArztFachbereiche):
    arzt = models.ForeignKey(Arzt)
    fachbereich = models.ForeignKey(Fachbereich)

执行syncdb后,我得到名称错误:名称'ArztFachbereich'未定义

当我改变Arzt和ArztFachbeeich的位置时,我得到了与Arzt相同的名称错误。 有办法吗?或者我应该在MySQL中手动执行此操作?你知道吗


Tags: name名称truedbmodelmodelscolumnlength
1条回答
网友
1楼 · 发布于 2024-10-02 22:29:13

您需要在传递给through参数的模型周围加引号。你知道吗

更改为:

fachbereich = models.ManyToManyField(Fachbereich, through='ArztFachbereich')

文档here中的示例。你知道吗

编辑:

正如Andrew在评论中指出的那样,将模型放在引号中会使计算变慢,因此ORM将在返回之前首先解析所有类。你知道吗

相关问题 更多 >