2

我的 tabularinline 字段有问题。我有这样的模型

class Product(models.Model):
....

class Pemesanan(models.Model):
produks = models.ManyToManyField(Product, verbose_name=u"Kode Produk", through='Foo')

class Foo(models.Model):
product = models.ForeignKey(Product)
...

Foo 类是 Pemesanan 类和 Product 类的中间类(多字段)。它有一个指向 Pemesanan 类的外键字段。Foo 类在 change_form 模板中显示为表格内联,如下所示http://upload.ui.ac.id/?a=d&i=845380

但我的问题是字段产品没有显示为相关的查找字段,因为它显示为普通表单(不是内联)。这是我的管理员

class FooInline(admin.TabularInline):
model = Foo
extra = 0
allow_add = True

class PemesananAdmin(admin.ModelAdmin):
....
search_fields = ['produks']
raw_id_fields = ('produks',)
related_lookup_fields = {
'm2m': ['produks'],
}
inlines = [
FooInline,
]
exclude = ('produks',)

我使用了自动完成功能,但在这里实现起来似乎很困难,因为教程不完整。那么有没有办法让我在我的 tabularinline 中获得相关的查找工作?非常感谢:D。

4

1 回答 1

5

所以,是的,我想我只是误解了你在问什么。您只是希望相关的查找弹出窗口在每个内联中选择一个产品,而不是一个选择框。你已经知道了raw_id_fields;问题是您需要在内联模型管理员上指定,而不是主要父模型管理员。

class FooInline(admin.TabularInline):
    model = Foo
    extra = 0
    allow_add = True
    raw_id_fields = ('product',)
于 2012-06-13T15:32:50.490 回答