注意:我读了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
Django对这两种方法都很好。在Python中,与其他语言不同,可以在同一个文件中放置多个类定义。通常,一个Django应用程序将把它的所有模型放在同一个文件中,如果它不太长,比如说2-3个屏幕。在
任何更长的文件,它们通常被放在
models
模块中,并分成不同的文件。每个模型都需要在第一个链接中提到的__init__.py
中提到。在django1.7中,最后提到的app_label
“技巧”不再需要了。在相关问题 更多 >
编程相关推荐