django 模型循环导入
django models cyclic import
关于相互进口(通告)的问题,我看了一些相关的帖子。我正在开发一个 Django 应用程序,下面是我如何 运行 一个问题:
我有两个应用程序,第一个 articles
,第二个 tags
我的文章模型有一个多对多的字段,以表明相关标签:
articles/models.py
from django.db import models
from tags.models import Tag
class Article(models.Model):
tags = models.ManyToManyField(Tag)
然而,在我的 tags
应用程序中,我还需要导入 Article
模型来实现方法:
tags/models.py
from django.db import models
from articles.models import Article
# Create your models here.
class Tag(models.Model):
title = models.CharField(max_length=100)
content = models.CharField(max_length=255)
def getAritcleLength():
pass
def getQuestionLength():
pass
我通常使用一个模块来组合那些class定义,通常不会运行按照方法解析顺序发出。然而,在 django 的工作流程中,我们需要将 classes 放入单独的文件夹中,我将很高兴提出任何建议。
尝试删除这个字符串
from articles.models import Article
不要在 Article 模型中导入 Tag 模型,而是使用 class 的字符串引用。
# articles/models.py
from django.db import models
class Article(models.Model):
tags = models.ManyToManyField('Tag') OR: you can use app_name.model_name format as well
另一种方法是使用 Django 的方法从字符串中获取模型,然后将该变量用于模型引用。
Django: Get model from string?
关于相互进口(通告)的问题,我看了一些相关的帖子。我正在开发一个 Django 应用程序,下面是我如何 运行 一个问题:
我有两个应用程序,第一个 articles
,第二个 tags
我的文章模型有一个多对多的字段,以表明相关标签:
articles/models.py
from django.db import models
from tags.models import Tag
class Article(models.Model):
tags = models.ManyToManyField(Tag)
然而,在我的 tags
应用程序中,我还需要导入 Article
模型来实现方法:
tags/models.py
from django.db import models
from articles.models import Article
# Create your models here.
class Tag(models.Model):
title = models.CharField(max_length=100)
content = models.CharField(max_length=255)
def getAritcleLength():
pass
def getQuestionLength():
pass
我通常使用一个模块来组合那些class定义,通常不会运行按照方法解析顺序发出。然而,在 django 的工作流程中,我们需要将 classes 放入单独的文件夹中,我将很高兴提出任何建议。
尝试删除这个字符串
from articles.models import Article
不要在 Article 模型中导入 Tag 模型,而是使用 class 的字符串引用。
# articles/models.py
from django.db import models
class Article(models.Model):
tags = models.ManyToManyField('Tag') OR: you can use app_name.model_name format as well
另一种方法是使用 Django 的方法从字符串中获取模型,然后将该变量用于模型引用。 Django: Get model from string?