型号:
class Contacts(models.Model):
libId = models.ForeignKey(verbose_name='Библиотека', to=Libraries, on_delete=models.CASCADE)
name = models.CharField('ФИО', max_length=257, blank=True)
position = models.CharField('Должность/название отдела', max_length=257)
phoneNum = models.BigIntegerField('Номер телефона', validators=[MaxValueValidator(79999999999)])
def __str__(self):
return self.name
序列化器:
class ContactsSerializers(serializers.ModelSerializer):
class Meta:
model = Contacts
fields = '__all__'
我可以从该模型中获取所有对象:
class ContactsView(generics.ListAPIView):
serializer_class = ContactsSerializers
queryset = Contacts.objects.all()
但是我怎样才能从用户输入中得到一个?
答案 0 :(得分:1)
您必须使用 RetriveAPIView
来获取这样的单个对象:
class ContactsView(generics.RetrieveAPIView):
serializer_class = ContactsSerializers
queryset = Contacts.objects.all()
lookup_field = 'pk'
您的网址应如下所示:
path('some-path-goes/<int:pk>/', ContactsView.as_view(), name='some_name')