Python 仅列出Django中多对多字段的未赋值值
我有以下两种型号:Python 仅列出Django中多对多字段的未赋值值,python,django,manytomanyfield,Python,Django,Manytomanyfield,我有以下两种型号: class Fruit(models.Model): name = models.CharField(max_length=20) class Season(models.Model): name = models.CharField(max_length=20) fruits = models.ManyToManyField(Fruit, related_name='seasonal_fruit') 如果水果没有分配给任何其他季节对象,我想将它们
class Fruit(models.Model):
name = models.CharField(max_length=20)
class Season(models.Model):
name = models.CharField(max_length=20)
fruits = models.ManyToManyField(Fruit, related_name='seasonal_fruit')
如果水果没有分配给任何其他季节
对象,我想将它们添加到季节
对象中
另外,我想在seasureadmin
中显示这些不同的(即未分配给任何其他seasure
对象)列表
我如何才能做到这一点?- 您需要遵循以下步骤:
- 更新Admin.py文件,如下所示:
谢谢我确实对这段代码做了一些调整,以使其适用于管理员。:)
class SeasonAdmin(admin.ModelAdmin):
def formfield_for_manytomany(self, db_field, request, **kwargs):
if db_field.name == "fruit":
f = [x for x in Fruit.objects.all()]
s = [y for y in Season.objects.all()]
for a in y:
for b in y.fruit.all():
f.remove(b)
kwargs["queryset"] = f
return super().formfield_for_manytomany(db_field, request, **kwargs)