首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django应用程序结构和循环引用

Django应用程序结构和循环引用
EN

Stack Overflow用户
提问于 2016-05-25 14:28:24
回答 1查看 84关注 0票数 0

我试着把我的项目组织得很好,所以我试着把它分成不同的应用。假设一个带有BlogPost模型的博客应用程序。现在,我添加了一个Tag应用程序,它有一个带有外键的标签模型。现在,如果我想在Blog类中编写一个方法get_tags(),那就是循环引用。那么这是一个糟糕的设计吗?也许我不应该在博客上写这样的方法,或者这样的相关模型应该简单地放在同一个应用程序中?

我只是想学习如何组织我的(大)项目。我读了很多关于django应用程序的概念,但仍然没有找到正确的方法

EN

回答 1

Stack Overflow用户

发布于 2016-05-25 14:53:52

这里的要点是,当您创建ForeignKey或ManytoManyField时,Django会自动创建反向查找。假设您的模型如下所示:

BlogPost模型

代码语言:javascript
复制
from django.db import models

class BlogPost(models.Model):
    title = models.CharField(_('title'), max_length=200)
    slug = models.SlugField(_('slug'), unique_for_date='publish')
    author = models.ForeignKey(User, blank=True, null=True)
    body = models.TextField(_('body'), )
    publish = models.DateTimeField(_('publish'), default=datetime.datetime.now)
    created = models.DateTimeField(_('created'), auto_now_add=True)

标记模型

代码语言:javascript
复制
from django.db import models    
from Blog.models import BlogPost

class Tag(models.Model):
    Post = models.ForeignKey(BlogPost,related_name="tags")

现在,假设您正在视图中生成帖子的标签,您基本上可以通过调用blogpost.tags_set来获取帖子的所有标签,其中blogpostBlogPost的一个模型实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37429341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档