객체의 다른 세트를 검색하는 경우는 다음과 같습니다장고 URL은 내가 모델 책이
class Book(models.Model):
book_id = models.AutoField(primary_key=True)
title = models.CharField(max_length=30)
# A book can have multiple authors and an author can have multiple books
author = models.ManyToManyField('Author')
genre = models.CharField(max_length=20)
isbn = models.CharField(max_length=20)
summery = models.CharField(max_length=100, null=True)
language = models.CharField(max_length=20, null=True)
status = models.CharField(max_length=15, null=True)
number_of_pages = models.IntegerField(blank=True)
borrowed = models.DateField(auto_now=False, auto_now_add=False, null=True, blank=True)
loan_period = models.IntegerField(default=14)
due_date = models.DateField(auto_now=False, auto_now_add=False, null=True, blank=True)
# A library has many books
which_library = models.ForeignKey('Library', related_name='books', on_delete=models.CASCADE)
#This helps to print in admin interface
def __str__(self):
return u"%s" % (self.title)
을 I가 나에게 특정 라이브러리에있는 모든 책을 제공 한 URL :
urlpatterns = [
url(r'^books/(?P<library_id>[0-9]+)$', book_list),
]
을 그 책의 객체를 반환
내보기 :
@api_view(['GET', 'POST'])
def book_list(request, library_id):
"""
List all books in a specific library, or create a new book for a specific library
"""
if request.method == 'GET':
books = Book.objects.filter(which_library=library_id)
print(books)
serializer = BookSerializer(books, many=True)
return Response(serializer.data)
내 질문은 : 수 있습니까 그래 어떻게 생 있도록 내 URL과 뷰를 수정할 수 있습니다 경우 도서의 전체 목록을 다른 검색어 매개 변수로 필터링하여 특정 도서를 반환 할 수 있습니다. 즉, api/books/1?genre=Fiction&status=Available
과 같은 URL을 클릭하면이 기준을 충족하는 도서를 더 필터링해야합니까? 그렇게하는 것이 좋습니다. 또는이 목적을 위해 별도의 URL과 의견을 쓰는 것이 좋습니다?
Perfect! 답장을 보내 주셔서 감사 드리며 의심의 여지를 없애십시오! 정말 많은 도움이되었습니다 :) – Nitish
도와 드리겠습니다! 당신은 환영합니다 :) – oxalorg