こんなフォアキー関係あるんだ
class Product(models.Model):
brochure = models.ForeignKey(MediaFile)
私のライブラリには多数の MediaFiles があるためForeignKeyRawIdWidget
、クエリの数を減らすために a をよく使用します。
しかし、明らかにインライン モデルで「ForeignKeyRawIdWidget」を使用しても、これには影響しません。それでも多くのクエリを実行します。
これがなぜなのか誰か知っていますか?
管理者:
class ProductInline(admin.StackedInline):
model = models.Product
prepopulated_fields = {"slug": ("title",)}
def formfield_for_dbfield(self, db_field, **kwargs):
if db_field.name == 'brochure':
kwargs['widget'] = ForeignKeyRawIdWidget(db_field.rel)
return super(ProductInline, self).formfield_for_dbfield(db_field, **kwargs)
対
class ProductAdmin(admin.ModelAdmin):
def formfield_for_dbfield(self, db_field, **kwargs):
if db_field.name == 'brochure':
kwargs['widget'] = ForeignKeyRawIdWidget(db_field.rel)
return super(ProductAdmin, self).formfield_for_dbfield(db_field, **kwargs)