我想自定義Django接口。 我有一個CategoryAdmin(admin.ModelAdmin),它有一個foreignkey自己,每個類別可以從同一個表中的SubCategories。過濾|後控制查詢集Django Admin
每個具有子類別的類別都將顯示爲內聯。 基本上在查詢集我想告訴那些誰的父母= 0,所以我overrided get_queryet這主要類別:由家長= 0
def get_queryset(self, request):
if request.user.is_superuser:
qs = super(CategoryAdmin, self).get_queryset(request)
return qs
company = CompanyUsers.objects.filter(UserId = request.user.id) #not relevant
companyid = company.values_list('CompanyId', flat=True) #not relevant
qs = Category.objects.filter(CompanyId = companyid, Parent = 0)
return qs
現在,當用戶挑選類別之一,內聯進行過濾但點擊到變化他們當我得到了錯誤:
「與主鍵類對象的‘x’不存在」
如何篩選僅在主類別查詢集什麼想法?
注意:當刪除「Parent = 0」時,錯誤消失。
注2:可能有助於瞭解哪個實例被點擊。我知道這是可能通過重寫get_formset可惜get_queryset是get_formset :(
非常感謝之前調用。
父指的是表中的PK,因此不能爲無。另外,我沒有看到這是如何解決我的問題。 – YanivMor
爲什麼外鍵不能爲空? – Kostas
您可以看到更新的答案以獲取更多信息。 – Kostas