【发布时间】:2016-09-11 22:53:47
【问题描述】:
用户模型中有大约 15 万个条目。因此,当我在没有 raw_id_fields 的 django-admin 中使用它时,在将所有条目加载为外键的选择菜单时会导致问题。 是否有其他方法可以轻松加载或可以搜索。
基本上我有上面定义的这些模型,并且有一个用户模型用作 ProfileRecommendation 模型中的 ForeignKey。因此用户模型的数据库条目包含大约 1,50,000 个条目。我不希望这些外国字段的默认选择选项。相反,如果可以将它们过滤掉并仅加载用户表的少数条目。或者无论如何我可以让它们像自动完成建议一样可搜索
admin.py
class ProfileRecommendationAdmin(admin.ModelAdmin):
list_display = ('user', 'recommended_by', 'recommended_text')
raw_id_fields = ("user", 'recommended_by')
search_fields = ['user__username', 'recommended_by__username', ]
admin.site.register(ProfileRecommendation, ProfileRecommendationAdmin)
models.py
class ProfileRecommendation(models.Model):
user = models.ForeignKey(User, related_name='recommendations')
recommended_by = models.ForeignKey(User, related_name='recommended')
recommended_on = models.DateTimeField(auto_now_add=True, null=True)
recommended_text = models.TextField(default='')
【问题讨论】:
-
PLS描述问题并问清楚问题
-
基本上我有上面定义的这些模型,并且有一个用户模型用作 ProfileRecommendation 模型中的 ForeignKey。因此用户模型的数据库条目包含大约 1,50,000 个条目。我不希望这些外国字段的默认选择选项。相反,如果可以将它们过滤掉并仅加载用户表的少数条目。或者无论如何我可以让它们像自动完成建议一样可搜索。
标签: python django django-forms django-admin