由于从 django 2.x 迁移到 django 4.x,我必须重命名我的项目以修复包含“-”且不包含“_”的初始名称。
最初的项目名称是DEMANDE-PROJET
在名为 DEMANDE ( DEMANDE-PROJET_DEMANDE ) 的模型中,我有一个名为 UserDemandeMapper 的模型的外键(字段created_by)
created_by = models.ForeignKey('UserDemandeMapper', related_name="demande_createur",
on_delete=models.SET_NULL, null=True, blank=True)
现在我重命名了我的项目,django想要请求DEMANDE_PROJET_*而不是DEMANDE-PROJET_*
我不能再要求任何东西了。
我补充:
class Meta:
db_table = "DEMANDE-PROJET_DEMANDE"
将我的 django 模型链接到具有固定名称的表。现在我可以毫无问题地请求德曼德了。
问题来自我的created_by 外键。我有 ID 的值,但没有外部模型的模型对象。
我尝试添加 UserDemandeMapper 一个带有 db_name 的元类,但没有任何效果。
由于我不是迁移专家,而且 django 的这一面有点模糊,所以我需要帮助。
提前致谢。
达米安
我尝试添加 UserDemandeMapper 一个带有 db_name 的元类,但是 没有任何效果。
如果这不是您问题中的拼写错误,我建议尝试使用 db_table 而不是 db_name,就像您为其他课程所做的那样:
class UserDemandeMapper(models.Model):
class Meta:
db_table = "DEMANDE-PROJET_USERDEMANDEMAPPER"