【发布时间】:2020-08-03 22:55:27
【问题描述】:
我有一些型号的过滤器集:
class MyModel(models.Model):
STATUS_ACTIVE = 0
STATUS_DONE = 1
STATUSES = (
(STATUS_ACTIVE, 'Active'),
(STATUS_DONE, 'Done'),
)
status = models.IntegerField(choices=STATUSES, default=STATUS_ACTIVE)
class ModelFilter(FilterSet):
status = ChoiceFilter(choices=MyModel.STATUSES)
class Meta:
model = MyModel
fields = (
'status',
)
当我向某些 API 发出请求时,我应该使用状态作为数字 - /app/model?status=0。
如何给它起别名,这样我就可以使用/app/model?status=active而不是数字,而不改变模型?
【问题讨论】:
-
此链接可能无法准确回答您的问题,但可能会为您提供有用的工具。 Django 为您的
status模型字段生成get_status_display()函数,该字段可能可用于您想要的。 -
@Code-Apprentice 这些似乎都不匹配。
标签: python django django-rest-framework django-filter