Django-tastypie - 如何包含选项?

1 投票
2 回答
878 浏览
提问于 2025-04-17 19:18

我有一个模型字段,长这样:

location_state = models.CharField(max_length=255, null=True, blank=True, choices=STATE_CHOICES)

这个字段的值是通过tastypie返回的,但为了显示一个列表框,我需要一个所有可选项的列表。有什么好的方法可以通过资源来提供这些选项吗?

2 个回答

1

我不知道为什么找不到简单的方法来获取选项,但这个方法可以解决问题。

YourModel._meta.get_field('location_state').choices

不过你要注意,_meta 是一个内部实现的细节,虽然很多应用和扩展都依赖它,但使用起来应该相对安全。

1

我会使用内置的架构来告诉客户端有哪些字段选项。不过,默认情况下,选择的选项并不包含在架构资源里。这个讨论串展示了一种实现方法。

编辑于2013-03-19

另外,你可以通过使用/覆盖alter_list_data_to_serialize方法,将你的选择添加到元字段中,这样也能实现。

撰写回答