모두를위한 좋은 날!클래스 기반 제네릭 목록보기에서 장고 필터링 자식 개체
내 응용 프로그램은 django 클래스 기반의 일반 목록보기를 사용했습니다. 두 개의 모델 객체가 있습니다 : 외래 키 (아래 코드)를 통해 연결된 책 및 발행인. ListView를 사용하여 발행인에게 도서를 보여주고 싶지만 도서 필터링 (현재 사용자가 소유 한 활성 도서 만 가져옴)
추가 정보 : 가능하면 템플릿에 필터를 사용하고 싶지 않습니다. 추가 정보 2 : 내가 요청 개체에 대한 액세스를 필요로하기 때문에 모델 클래스에 정의를 통해 나는 필터를 사용할 수 없습니다
코드
models.py
class Publisher(models.Model):
name = models.CharField(max_length=255)
class Book(models.Model):
name = models.CharField(max_length=255)
active = models.BooleanField(default=True)
publisher = models.ForeignKey(Publisher, related_name='books')
owner = models.ForeignKey(User)
views.py
class ListBooksByPublisher(ListView):
model = Publisher
template_name = 'list.html'
context_object_name = 'books'
list.html
{% for publisher in publishers %}
{{ publisher.name }}
{% for book in publisher.books.all %}
{{ book.name }}
{% endfor %}
{% endfor %}
많은 도움을 주셨습니다. ,
class ListBooksByPublisher(ListView):
....
def get_queryset(self):
return self.model.objects.filter(blablabla))
희망이
게시자 (상위 개체)를 필터링합니다. 하지만 자식 개체를 필터링하는 데 사용하는 방법을 이해할 수 없습니다. – logan
그건 다른 질문 :) 그래서 자식 질문을 필터링하는 방법에 대한 또 다른 질문을 만듭니다 – pleasedontbelong
그게 내가 물어 정확한 질문입니다. 장고 필터링 * 자식 * 객체 – logan