来自我的主管的指示:"我想避免在其中添加任何逻辑models.py.从现在开始,让我们将其用作访问数据库的类,并将所有逻辑保留在使用模型类的外部类中,或者将它们包装起来."
我觉得这是错误的方式.我认为保持模型逻辑只是为了保持文件小是一个坏主意.如果逻辑在模型中是最好的,那么无论文件大小如何,它都应该去.
那么有一个简单的方法来使用包含?在PHP中,我想向主管建议我们只有models.pyinclude()来自其他地方的模型类.从概念上讲,这将允许模型具有我们想要的所有逻辑,但通过增加文件数量来减少文件大小(这会导致较少的修订控制问题,如冲突等).
那么,是否有一种从models.py文件中删除模型类的简单方法,但仍然可以使用所有Django工具的模型?或者,对于"大型"models.py文件的一般问题,是否存在完全不同但优雅的解决方案?任何输入将不胜感激.
我正在尝试学习python/django.
现在,我将所有模型都放在models.py中
是否可以将我的模型分解,以便我可以在单独的模型文件夹中为每个模型创建一个文件,以便我可以执行以下操作:
〜/ myproject/myapp/models/user.py~/myproject/myapp/models/group.py
谢谢
Django 1.11.我最近将以下模块添加到myapp.models:
from django.db import models
from ordered_model.models import OrderedModel
from .songs import Song
class Service(models.Model):
name = models.CharField(max_len=200, unique=True)
date = models.DateField(blank=True)
items = models.ManyToManyField(ServiceItem)
class Meta:
ordering = ('-date', 'name')
class ServiceItem(OrderedModel):
item = models.ForeignKey(Song)
song_custom_order = models.CharField(max_len=50, blank=True)
order_with_respect_to = 'service'
class Meta(OrderedModel.Meta):
pass
Run Code Online (Sandbox Code Playgroud)
我在另一个模块中有其他模型(在同一目录中).当我运行时./manage.py makemigrations,脚本会在我的其他模块中找到我的更改,但不会在此模块中找到.FWIW,此模块是所有新代码,没有以前的迁移历史记录.
任何想法为什么这些变化都没有被提升?