Django模型on_update = models.CASCADE相关对象引用

时间:2016-08-04 04:53:33

标签: python mysql django

我在他们的官方网站上查找了django doc,但除了on_update我无法在Related objects reference找到有关on_delete模型函数的文章

以下是一个示例代码:

from django.db import models

class Reporter(models.Model):
    # ...
    pass

class Article(models.Model):
    reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)

是否有on_update的任何版本?

我已访问此Cascade on update and delete wih django,但关于on_update

的答案并不明确

我正在使用mysql并在ERD中定义关系并将其同步到数据库并尝试运行python manage.py inspectdb以生成django-model,但它仅显示{ {1}}。

有没有更好的方法来实现这一点,如果有的话?

1 个答案:

答案 0 :(得分:1)

通常建议在设置Django模型时完全保留主键,因为Django会以多种方式使用这些来维护对象之间的关系。 Django会设置它们并自动使用它们。

相反,在模型中创建一个单独的字段以跟踪唯一数据:

class Reporter(models.Model):
    emp_id = models.CharField(unique=True)

通过这种方式,您可以使用emp_id获取reporter_object.emp_id,如果需要,您仍然可以使用reporter_object.id获取pk。

您可以在Django 1.9 Documentation

中了解它的工作原理