0
私は例えば、モデル内のquerysets
すべてのクエリーセットにフィールドを追加することは可能ですか?ジャンゴ
class ModelA(models.Model):
name = models.Charfield(max_length=256)
ageMin = models.IntegerField(null=True, blank=True)
ageMax = models.IntegerField(null=True, blank=True)
def age(self):
low = self.ageMin
high = self.ageMax
if low and high:
return str(low) + ' - ' + str(high)
if low:
return str(low)
if high:
return str(high)
は、私が実際にそのようであるage_gap
というフィールドなど、すべてのクエリセットにフィールドを追加したいのは、私がModelA
のすべてのリターンを得るためのクエリセットを持っているとしましょう持っていますdef age
はモデルそのものなので、各クエリーセットにはgap_gap
という特別なフィールドもあります。name, ageMin, ageMax
次のようなものを試しましたが、動作しませんでした。もちろん、これの Q [ 'age_gap'] = q.age()
:上記
all_q = ModelA.objects.filter()
qs = map(lambda x: x.update({'age_gap': x.age()}), all_q)
動作しないので、私はall_qでqに対して ような何かをしようと思いました私にもエラーが出る
どうすればいいですか?事前
あり、あなたがそれを参照したいときにちょうどその年齢の機能を使用してに何かを使用することができますか? – kevswanberg