1

这是我上面的代码。

模型.py

class Produto(models.Model):
    usuario = models.ForeignKey(User, null=True, blank=True)
    nome = models.CharField(max_length=255)
    descricao = models.TextField(null=True, blank=True, verbose_name="Descrição")
    slug = models.SlugField()

class Categoria(MPTTModel):
    produto = models.ManyToManyField(Produto, null=True, blank=True)
    parent = TreeForeignKey('self', null=True, blank=True, related_name='children',verbose_name="Categoria Pai")
    nome = models.CharField(max_length=255)
    descricao = models.CharField(max_length=255, null=True, blank=True)
    slug = models.SlugField()
    ativo = models.BooleanField(default=True)
    mostra_menu = models.BooleanField(default=False)
    ordem_menu = models.IntegerField(default=0)

管理员.py

class CategoriaProdutoInline(admin.TabularInline):
    model = Categoria.produto.through

class ProdutoAdmin(admin.ModelAdmin):
    list_display = ('__unicode__','sku','descricao_curta', 'preco', 'preco_desconto', 'ativo', 'categorias', 'link')
    inlines = [CategoriaProdutoInline, ImagemInLine, TagInLine]
    search_fields = ('nome', 'sku', 'categoria__nome')
    list_filter = ('preco', 'created_at')
    prepopulated_fields = {"slug": ('nome',)}
    readonly_fields = ['link']
    fields = ('usuario','nome','descricao','ativo','preco','preco_desconto','slug')

实际上,产品更新管理员看起来像这样。

插入产品管理页面

我尝试使用一些像 TreeNodeChoiceField 这样的实现,看起来在这里但不起作用

4

0 回答 0