我有以下模型设置:
问题是,当我尝试在管理页面中上拉对象时,computer_names链接到数十万行无关的行,并且该页面从不加载。如何将“计算机名称”过滤为仅用户为ManyToMany字段选择的对象?
class ScoringException(models.Model):
class Meta:
ordering = ['date_modified']
requester = models.CharField('Requester',max_length=50,null=False,blank=False)
computer_names = models.ManyToManyField(Computer)
domain = models.ForeignKey(Domain)
exception_kpi_types = models.ManyToManyField(ScoringType)
expiration_date = models.DateField('Expiration Date')
reason = models.CharField('Reason',max_length=1000,null=False,blank=False)
approved = models.BooleanField('Approved')
date_modified = models.DateTimeField('Date Updated',auto_now=True)
您可以raw_id_fields
在admin中使用,以便Django不会渲染十万行数据:
@admin.register(ScoringException)
class ScoringExceptionAdmin(admin.ModelAdmin):
....
raw_id_fields = ['computer_names']
使用raw_id_fields
,Django将显示所选m2m对象的ID列表。还添加了搜索按钮,以使为m2m关系添加新对象更加容易。
请参阅文档以获取更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句