ユーザープロファイルの計算フィールドを追加したいとします。 は、私は、カスタムマネージャー追加:Djangoカスタムマネージャの計算フィールド付き
class ProCalcManager(models.Manager):
use_for_related_fields = True
def get_queryset(self):
result = super(ProCalcManager, self).get_queryset()
result = result.extra(
select={'pro': "(start_date, INTERVAL '10 days') OVERLAPS"
"(CURRENT_TIMESTAMP, INTERVAL '1 days')"}
)
return result
class Profile (models.Model):
objects = ProCalcManager()
default_manager = ProCalcManager()
start_date = models.DateTimeField()
を私は使用している場合:Users.objects.first().profile.pro
結果はTrue
ですが、Users.objects.filter(profile__pro=True)
結果を{TypeError} Related Field got invalid lookup: pro
でどのようにすることができ、ユーザプロファイルに「プロ」に計算フィールドを追加するための別の更新クエリセットそれはフィルターで使用するために?
は、私を修正します私は 'pro'フィールドが文字通り_startdate + 10日>現在の日付であると理解していますから、'余分なものを使う必要はありません。フィルターを使ってもできます。 – v1k45
はい、このフィルタはシステムの多くの場所で使用する必要がありますので、モデルの1か所にフィルタを配置したいと考えています。 –