【问题标题】:How to avoid duplicate models in django project?如何避免 django 项目中的重复模型?
【发布时间】:2023-03-09 14:57:01
【问题描述】:

我正在学习 django,所以我有很多问题,一个是如何重用模型?我的意思是模型位于应用程序文件夹中,但某些模型在两个不同的应用程序之间完全相同。 那么每次我写一个新的应用程序时我应该重写模型吗?

【问题讨论】:

    标签: django models code-reuse


    【解决方案1】:

    如何重用模型

    重用模型的最佳方法是继承父模型类。这就是你必须这样做的方式。继承自models.Model。

    from django.db import models
    class trial(models.Model):
        # override the parent class methods here or define your own
    

    还要确保您在相应的 models.py 文件中 import 您的应用模型。

    【讨论】:

      【解决方案2】:

      如果您的模型在不同的应用程序中完全相同相同,那么您做错了什么。不要忘记,一个应用程序基本上只是一组模型,您可以通过导入一个应用程序的模型在另一个应用程序中使用它们。

      您能否举一个具有完全相同模型的两个应用程序的示例?

      【讨论】:

        【解决方案3】:

        是的,当您的应用程序名称相同时,这是错误的 你也可以使用abstract models

        class CommonInfo(models.Model): name = models.CharField(max_length=100) age = models.PositiveIntegerField() class Meta: abstract = True class Student(CommonInfo): home_group = models.CharField(max_length=5)

        【讨论】:

          猜你喜欢
          • 2021-09-08
          • 2011-03-04
          • 1970-01-01
          • 2017-08-05
          • 1970-01-01
          • 1970-01-01
          • 2020-08-09
          • 1970-01-01
          • 2014-05-15
          相关资源
          最近更新 更多