我的模型文件应该保存在不同的包中还是在Django中保持相同的模型文件?

2024-04-24 16:13:38 发布

您现在位置:Python中文网/ 问答频道 /正文

注意:我读了Choosing between Stack Overflow and Software Engineering,从我的结论来看,因为这篇文章包含了代码,所以我认为它属于stackoverflow而不是程序员。在

嗨,我正在用Django构建一个应用程序,我对Django非常陌生。我已经阅读了Django教程和Django Rest框架教程。在

我的问题是我应该如何构建我的应用程序的这一部分。现在我正试图为我正在编写的android应用程序构建一个restfulapi。在

我读过这个:
Why does django enforce all model classes to be in models.py?
以及
models.py getting huge, what is the best way to break it up?

要正确看待我的项目:

这是我的模型.py看起来像:(请注意,这些不是我的实际模型,它们只是我为使代码更简洁所做的一个示例)

class Company(models.Model):
    name = models.charField(max_length=100)
class Department(models.Model):
    company = models.ForeignKey(Company)
    employees_count = models.IntegerField(default=1)
    name = models.charField(max_length=100)
class Employee(models.Model):
    department = models.ForeignKey(Department)
    name = models.charField(max_length=100)
    age = models.IntegerField(default=0)

每个类都有自己的函数,可以通过API访问。在

在介绍了我的项目后,我的问题是。。公司、部门和员工是否都属于不同的包,因为它们是独立的实体?或者它们应该都属于一个模型文件?最后,它们应该有自己的REST类,如下所述:http://www.django-rest-framework.org/tutorial/3-class-based-views#rewriting-our-api-using-class-based-views


Tags: todjango代码namepy模型应用程序model
1条回答
网友
1楼 · 发布于 2024-04-24 16:13:38

Django对这两种方法都很好。在Python中,与其他语言不同,可以在同一个文件中放置多个类定义。通常,一个Django应用程序将把它的所有模型放在同一个文件中,如果它不太长,比如说2-3个屏幕。在

任何更长的文件,它们通常被放在models模块中,并分成不同的文件。每个模型都需要在第一个链接中提到的__init__.py中提到。在django1.7中,最后提到的app_label“技巧”不再需要了。在

相关问题 更多 >