I have two models: a field and a lot. And I want to have a hyperlink to the fields that make up a particular set.
, for example:
url: sets/should return[{'title': 'dimensional', 'fieldsLink': '#url-to-enpoin'}]
There is nothing difficult to write something like this:
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'),
)
But how can I set a hyperlink to fields via url, for example fields/?set=dimensional(! Query parameter) instead of sets/dimensional/fields/(argument in url)?
Is there a built-in way to do this instead of overriding HyperlinkedIdentityField?
source
share