我有以下一段代码(django,python):
def function(self, some_id):
if some_id:
return Model1.objects.filter(model2__id=some_id)
else:
return Model1.objects.all()
我想知道是否可以使用单个 return 语句重构此代码? Model1 在 Model2.id 上有一个外键。
最佳答案
def function(self, some_id):
filter_kwargs = {}
if some_id:
filter_kwargs['model2__id'] = some_id
return Model1.objects.filter(**filter_kwargs)
应该满足您的问题,尽管我会说它很可能如书面所示。
关于python - Django:按值过滤或返回所有记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50956139/