相关疑难解决方法(0)

models.py变得越来越大,打破它的最佳方法是什么?

来自我的主管的指示:"我想避免在其中添加任何逻辑models.py.从现在开始,让我们将其用作访问数据库的类,并将所有逻辑保留在使用模型类的外部类中,或者将它们包装起来."

我觉得这是错误的方式.我认为保持模型逻辑只是为了保持文件小是一个坏主意.如果逻辑在模型中是最好的,那么无论文件大小如何,它都应该去.

那么有一个简单的方法来使用包含?在PHP中,我想向主管建议我们只有models.pyinclude()来自其他地方的模型类.从概念上讲,这将允许模型具有我们想要的所有逻辑,但通过增加文件数量来减少文件大小(这会导致较少的修订控制问题,如冲突等).

那么,是否有一种从models.py文件中删除模型类的简单方法,但仍然可以使用所有Django工具的模型?或者,对于"大型"models.py文件的一般问题,是否存在完全不同但优雅的解决方案?任何输入将不胜感激.

python django django-models models

86
推荐指数
3
解决办法
2万
查看次数

如何在django中分离我的模型?

我正在尝试学习python/django.

现在,我将所有模型都放在models.py中

是否可以将我的模型分解,以便我可以在单独的模型文件夹中为每个模型创建一个文件,以便我可以执行以下操作:

〜/ myproject/myapp/models/user.py~/myproject/myapp/models/group.py

谢谢

python django split django-models

29
推荐指数
2
解决办法
1万
查看次数

makemigrations没有检测到新模型

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,此模块是所有新代码,没有以前的迁移历史记录.

任何想法为什么这些变化都没有被提升?

python django django-models

1
推荐指数
2
解决办法
1877
查看次数

标签 统计

django ×3

django-models ×3

python ×3

models ×1

split ×1