4
我有兩個模型:Field和Set。我想要超鏈接到組成具體集合的字段。
例如: 網址:sets/
應該返回[{'title': 'dimensional', 'fieldsLink': '#url-to-enpoin'}]
Django-Rest-Framework。通過查詢參數的超鏈接實體
沒有什麼複雜的寫這樣的事情:
class Field(models.Model):
title = models.CharField(max_length=255, blank=True, null=True)
set = models.ForeignKey(Set, related_name='fields', blank=True, null=True)
class Set(models.Model):
title = models.CharField(max_length=255, blank=True, null=True, unique=True)
slug = models.SlugField(unique=True)
class SetSerializer(serializers.HyperlinkedModelSerializer):
field_list = serializers.HyperlinkedIdentityField(
view_name='apiv1:setfields-list',
lookup_field='slug')
class Meta:
model = Set
fields = ('title', 'field_list')
urlpatterns = patterns('',
url(r'^fields/$', views.FieldView.as_view(), name='fields-list'),
url(r'^sets/$', views.SetView.as_view(), name='sets-list'),
url(r'^sets/(?P<slug>[\d\w\-]+)/fields/$', views.SetFieldView.as_view(), name='setfields-list'), # this url should be removed
)
但我怎麼能超鏈接設置爲通過URL像fields/?set=dimensional
場(查詢參數)而不是sets/dimensional/fields/
(在URL中的參數)?
是否有任何內置的方式來做到這一點,而不是覆蓋HyperlinkedIdentityField
?
有沒有內置的方式,據我所知,我在我的代碼中使用類似的解決方案 – nemesisdesign