【发布时间】:2017-07-16 15:45:45
【问题描述】:
大家好,我开始使用 Django 框架,我有一个问题。
Django 的文档说,当我在类的末尾创建类(模型)时,我应该编写函数来为我的对象返回字符串值,它看起来像这样:
class NameClass(models.Model):
field_name_1 = models.SomeTypeField()
field_name_2 = models.SomeTypeField()
field_name_3 = models.SomeTypeField()
...
field_name_n = models.SomeTypeField()
def __str__(self):
return self.field_name_1, ...self.field_name_n
在这种情况下,我编写了返回字符串值的函数,因为我的模型中有很多字段,并将它们中的每一个都写在 __str__ 函数中,这将是很多工作。所以我的函数看起来像这样:
def __str__(self):
fields =''
for x in self._meta.fields:
fields = fields + string.split(str(x),".")[2]+' '
return fields
现在问题。如何在model.py中的每个类(模型)中重用这个函数,而不复制粘贴这个函数?
例如。我有很多类(mdoels):
class FirstModel(models.Model):
...
def __str__(self):
...
class SecondModel(models.Model):
...
def __str__(self):
...
class ThirdModel(models.Model):
...
def __str__(self):
...
class EtcModel(models.Model):
....
def __str__(self):
而且我不想每次都复制粘贴我的函数,可能存在某种方式来使用它,比如全局函数或解决它的其他方式。
【问题讨论】:
-
欢迎来到 StackOverflow!
标签: python django python-2.7 django-models django-views