ForeignKey Campus オブジェクトを持つ Building オブジェクトがある場合、Building の JSON メソッドをどのように変更して、このように見苦しくならないようにしますか?
def json(self):
if self.campus:
return {
'id_number': self.id,
'campus': self.campus.json(),
'common_name': self.common_name,
#....all the other fields
}
else:
return {
'id_number': self.id,
'common_name': self.common_name,
#....all the other fields
}
上記のコードは機能します。if ステートメントを再配置でき、両方の if ブランチの他のすべてのフィールドをリストする必要がないように、if ステートメントをフォーマットする方法があるかどうか疑問に思っていました。主な理由は、null の別のリレーショナル オブジェクト、blank=True がある場合、これがさらに厄介になるためです。