簡體   English   中英

我怎樣才能得到一個對象?

[英]How can i get a single object?

模型:

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()

但是我怎樣才能從用戶輸入中得到一個呢?

您必須使用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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM