【问题标题】:Define a Django model that is shared among many apps定义一个在许多应用程序之间共享的 Django 模型
【发布时间】:2017-02-01 17:51:28
【问题描述】:

如何定义一个通用的 Django 模型(完全适合实用程序/公共模块),它将被许多应用程序使用?我更愿意在应用程序之外定义它,因为在语义上它不属于它们中的任何一个。 可能吗?迁移到app外如何处理?

更具体地说,用于分配用户或组织所在国家/地区的模型:

class Country(models.Model):
    name = models.CharField(max_lenght=200)

【问题讨论】:

  • 已经有一个可以使用了 - from django.db.models import Model
  • 想想 django.contrib.auth 中的用户

标签: python django model-view-controller model


【解决方案1】:

如果模型不属于任何应用程序,它们当然可以在单独的应用程序中声明。我会创建一个“全局”应用程序,其中包含您可能从其他应用程序中使用的模型和视图。只要您使用“startapp newapp”等声明新应用程序,迁移就会照常运行。

【讨论】:

    【解决方案2】:

    如果它是基于您的示例中的用户,请考虑extending the user model

    【讨论】:

      猜你喜欢
      • 2011-05-07
      • 2019-10-12
      • 1970-01-01
      • 2013-10-31
      • 2012-06-02
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多