拆分申请的建议?

时间:2016-12-17 21:45:05

标签: django django-models

我正在使用Django 1.10(Python 3)创建一个站点。目的是追踪我的书和我读过的书。

我想为几个不同的模型制作简单的CRUD页面。我目前使用的不同模型有:书籍,作者和出版商。这个清单可能会增长。我读过有关将您的网站拆分为较小的应用程序的信息。因此,CRUD页面的一个应用程序,一个用于作者,一个用于发布者。

这是Django的意图吗?如果是这样,就会出现问题。我们如何分离模型? Books模型具有依赖于Author和Publisher的字段。但由于他们现在在自己的应用程序中,我应该如何访问它?我不喜欢从另一个应用程序导入,因为它们应该是单独的应用程序。

2 个答案:

答案 0 :(得分:0)

如果它们相关,则不要将它们分开。除此之外,您可以重新考虑模型的结构并重新构建它们。

我不知道确切字段属于AuthorPublisher,但您may将它们合并到一个模型中。这只是一个想法。

或者您可以创建AuthorPublisher等表格。

有一个名为Normalization的进程,它基本上倾向于创建包含少量列的表而不是创建一个大的表。

此外,您也可以查看this thread

答案 1 :(得分:0)

  

我想为几个不同的模型制作简单的CRUD页面。该   我现在拥有的不同模特有:书籍,作者和   出版商。这个清单可能会增长。我读过有关分裂的内容   您的网站变成了较小的应用所以一本应用程序的书CRUD页面,一个   作者和发布者之一。

我个人认为单个应用程序可以轻松处理这三个模型。

  

这是Django的意图吗?如果是这样,就会出现问题。我们怎么样   分开模特? Books模型具有依赖于Author的字段   和发布者。但既然他们现在都在自己的应用程序中,我怎么样   应该访问它?我不喜欢从中导入的想法   另一个应用程序,因为它们应该是单独的应用程序。

要访问您需要实现外键关系的字段。查看文档here

如果您仍然认为模型应该存在于不同的应用程序中,则需要在使用之前导入它们。假设Book模型需要Author模型。您需要做的是导入A​​uthor模型并将其链接到具有ManytoMany或ForeignKey关系的书模型。:

from django.db import models
from app_authors.model import Author


class Book()models.Model:
    author = ForeignKey(Author, null=True, blank = True, verbose_name = 'Author')