我正在构建一个应用程序来跟踪设施中的生产。我有一个表示输入的模型和一个表示过程的模型,过程模型对输入模型有一个FK。
def Inputs(models.Model):
description = models.CharField(max_length=30)
date = models.DateField()
in_stock = models.BooleanField()
def Process(models.Model):
date = models.DateField()
input_item = models.ForeignKey("Inputs")
我希望能够过滤在流程模型的管理表单中显示的输入列表。我已经想出了怎么做。 (在Django Docs中找到);
class ProcessAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "input_items":
kwargs["queryset"] = Inputs.objects.filter(in_stock=True)
return super(ProcessAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
问题如下;我想根据当前库存中的输入过滤可用的模型,但我还希望能够访问记录不再有库存的项目的旧记录。当我尝试访问旧记录时,当前设置不会显示这些项目。