在DJango中编辑主键

时间:2016-06-27 13:55:03

标签: python django postgresql admin primary-key

我在DJango管理应用程序上注册了一个模型,以便能够编辑其条目。 “admin.site.register(model)” 但是,DJango将PK视为只读,因此在尝试编辑它时,它会复制该条目并忽略外键对它的任何引用。

主键字段是只读的。如果更改现有对象上的主键值,然后保存它,则将创建一个与旧对象并排的新对象。您可以查看this example 以了解我的意思。

无论如何能够编辑某个模型中的主键并将更新级联到外键对它的任何引用吗?

这是models.py

class Cabinet(models.Model):
    mac_address = models.CharField(max_length=17, primary_key=True)

class FailureLog(models.Model):
    mac_address = models.ForeignKey(Cabinet)

这是admin.py

admin.site.register(Cabinet)

在管理员应用程序中,我无法更改Cabinet的主键而不复制它并且丢失对FailureLog的所有引用

0 个答案:

没有答案