我有一個看法列出某個模型(可以稱之爲class A
),就像這樣:Django的ORM:自定義的ListView,和更多的信息,其查詢集添加
class BaseListView(ListView, MultipleObjectMixin):
http_method_names = ['get']
order_field = None
def get_paginate_by(self, queryset):
session_manager = SessionManager(self.request.session)
return session_manager.paginate_by.get()
def get_context_data(self, **kwargs):
context = super(BaseListView, self).get_context_data(**kwargs)
session_manager = SessionManager(self.request.session)
session_manager.paginate_by.set_to(context)
return context
也需要這種觀點正是, 直到現在。現在我必須將它檢索的對象列表與另一個對象列表(class B
)進行比較。
類別A
和B
的對象都有一個主鍵與他們的名字。
我想檢查class A
中的任何對象是否與class B
中的任何對象具有相同的name
(主鍵)。如果B
中有A
的實例,我想添加某個參數或類似is_in_B=True
。
我需要這個,以便我可以以不同的方式在模板中表示這些A
的實例。
我該怎麼做?
這是我想出了用自己的時刻:
class AListView(BaseListView):
model = "A"
def get_queryset(self):
queryset = super(AListView, self). get_query_set()
all_objects_A = A.objects.all()
all_objects_B = B.objects.all()
# modify queryset to indicate which instances of A are present in B
# No idea how to do this
return queryset
我真的不知道這是一個適當的做法。
而且,我怎麼修改我的類返回,這樣我可以指示class A
共享相同的name
任何的class B
實例的哪些實例的queryset
?
「A」和「B」有關係嗎? – Sayse
'A'的主鍵是字段'name'(例如:「John Doe」)。 'B'的主鍵也是它的字段'name'(例如'Jane Doe'),所以我想要知道'B'對象列表中是否存在任何「John Doe」並返回查詢集中的那些信息。 – Xar