Python 在Django模型中存储应用程序逻辑

Python 在Django模型中存储应用程序逻辑,python,django,postgresql,django-models,Python,Django,Postgresql,Django Models,我正在用Django制作一个web应用程序,我想存储应用程序逻辑。最理想的方法是什么?例如,我目前在models.py中存储了类似的东西,但至少可以说是次优的 class Alphabet(models.Model): first = models.CharField(max_length=1, default = 'a') second = models.CharField(max_length=1, default = 'b') third = models.Char

我正在用Django制作一个web应用程序,我想存储应用程序逻辑。最理想的方法是什么?例如,我目前在models.py中存储了类似的东西,但至少可以说是次优的

class Alphabet(models.Model):
    first = models.CharField(max_length=1, default = 'a')
    second = models.CharField(max_length=1, default = 'b')
    third = models.CharField(max_length=1, default = 'c')

class Digits(models.Model):
    first = models.CharField(max_length=1, default = '1')
    second = models.CharField(max_length=1, default = '2')
    third = models.CharField(max_length=1, default = '3')

Characters = [Alphabet, Digits]

我是否应该将此类数据存储在我的models.py文件夹中?

您可以使用
property
decorator进行以下操作:。正如您在文档中看到的,您可以将函数定义为模型的属性。只需返回要使用的静态数据。我建议您在模型文件中定义它们,因为将它们写入数据库效率很低。

您可以使用
属性
装饰器:。正如您在文档中看到的,您可以将函数定义为模型的属性。只需返回要使用的静态数据。我建议您在模型文件中定义它们,因为将它们写入数据库效率很低。

如果不更改,为什么不将其放入您的应用程序中? 如果您在数据库中需要它,那么为静态数据创建一个特殊的表似乎是一个合理的决定。
或者您可以有一个特殊的表条目,其中包含所有默认值(默认值),并带有一个特殊名称,例如“default”而不是一个普通名称。

如果它没有更改,为什么不将其放入您的应用程序中? 如果您在数据库中需要它,那么为静态数据创建一个特殊的表似乎是一个合理的决定。
或者您可以有一个特殊的表条目,其中包含所有默认值(默认值),并带有一个特殊名称,例如“default”而不是一个普通名称。

为了澄清,您是否建议我在关于模型方法的第二个链接中按如下方式构造字段:first=property('a')不,有一个名为full_name的属性,它是一个函数,返回带有名字和姓氏值的全名。只需定义属性函数来返回静态值。为了澄清,您是否建议我这样构造字段:first=property('a')不,在关于模型方法的第二个链接中,有一个名为full_name的属性,它是一个返回全名和姓氏值的函数。只需定义属性函数来返回静态值。@Nailuj数据肯定会在应用程序逻辑中,没有理由将其放入数据库-它永远不会更改,更改它将毫无意义,并且会破坏整个应用程序。但如果你必须将其放入数据库中:只需创建一个名为“categories”的表,并使用类别名称,然后创建类别属性(例如,每个棋子都有其移动类型,如果它可以向后移动,以及移动速度有多快)。@Nailuj该数据肯定位于应用程序逻辑中,没有理由把它放进数据库——它从不改变,改变它毫无意义,它会破坏整个应用程序。但是,如果必须将其保存在数据库中:只需使用类别名称创建一个名为“categories”的表,然后创建类别属性(例如,每个棋子都有它的移动类型,如果它可以向后移动以及移动的速度有多快)。