【问题标题】:How to use multiple models in one app?如何在一个应用程序中使用多个模型?
【发布时间】:2013-10-24 07:49:49
【问题描述】:

我有一个包含两个应用程序的 django 项目,experimentsmetadata,在一个视图中,我需要使用这两个应用程序的模型,所以我有这个:

from experiments.models import *
from metadata.models import *

我的两个应用程序都有一个同名的模型;那么如何在一个应用中使用两个模型呢?

【问题讨论】:

    标签: django models


    【解决方案1】:
    from experiments import models as exp_models
    from metadata import models as meta_models
    
    foo = exp_models.Foo.objects.all()
    bar = meta_models.Bar.objects.all()
    

    顺便说一句。 from module import * 被认为是不好的做法,它会弄乱你的命名空间。

    【讨论】:

      【解决方案2】:

      假设在experiments/models.py 你有:

      class Foo(models.Model):
          name = models.CharField(max_length=200)
      

      metadata/models.py 中,您还有:

      class Foo(models.Model):
          name = models.CharField(max_length=200)
      

      现在你想同时使用它们,你可以像这样导入它们:

      from metadata.models import Foo as meta_foo
      from experiments.models import Foo as experiment_foo
      

      【讨论】:

        猜你喜欢
        • 2016-08-21
        • 1970-01-01
        • 1970-01-01
        • 2016-08-04
        • 1970-01-01
        • 2019-07-10
        • 2011-12-22
        • 2020-01-01
        • 2012-11-02
        相关资源
        最近更新 更多