みなさんこんにちは皆さんはDjango Frameworkを使い始めました。質問があります。各クラスモデルのmodels.pyの__str__関数の再利用方法
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の各クラス(モデル)でこの関数を再利用するにはどうすればいいですか?
たとえば、
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):
そして、それを解決するために、グローバル関数または別の方法のようにそれを使用するいくつかの方法が存在する可能性がある私は、コピーが私の関数毎回を貼り付けたくない:私はクラス(mdoels)がたくさんあります。
ようこそStackOverflow! – frederick99