4
Django กรองแบบกลุ่มต่อกลุ่มด้วยประกอบด้วย
ฉันพยายามกรองวัตถุจำนวนมากผ่านความสัมพันธ์แบบกลุ่มต่อกลุ่ม เนื่องจากtrigger_rolesช่องอาจมีหลายรายการฉันจึงลองใช้containsตัวกรอง แต่ตามที่ออกแบบมาเพื่อใช้กับสตริงฉันค่อนข้างทำอะไรไม่ถูกเลยว่าฉันควรกรองความสัมพันธ์นี้อย่างไร (คุณสามารถเพิกเฉยต่อvalues_list()atm ได้) ฟังก์ชันนี้แนบกับโปรไฟล์ผู้ใช้: def getVisiblePackages(self): visiblePackages = {} for product in self.products.all(): moduleDict = {} for module in product.module_set.all(): pkgList = [] involvedStatus = module.workflow_set.filter(trigger_roles__contains=self.role.id,allowed=True).values_list('current_state', flat=True) โมเดลเวิร์กโฟลว์ของฉันมีลักษณะดังนี้ (แบบง่าย): class Workflow(models.Model): module = models.ForeignKey(Module) current_state = models.ForeignKey(Status) next_state = models.ForeignKey(Status) allowed = models.BooleanField(default=False) involved_roles = models.ManyToManyField(Role, blank=True, null=True) …