Django: não pode incluir o campo ManyToManyField porque especifica manualmente um modelo 'through'
Eu pesquisei muitas vezes e encontrei apenas uma solução para adicionar um modelo intermediário personalizado para dois modelos tendo relação através do terceiro modelo. E eu apliquei como de costume, como sugerido, mas ainda recebendo este problema:
Não é possível incluir o termo 'terms' do campo ManyToManyField porque 'terms' especifica manualmente um modelo 'through'
models.pyclass Term(models.Model):
class Meta:
db_table = "tbl_term"
name = models.CharField(max_length=32)
class Post(models.Model):
class Meta:
db_table = "tbl_post"
title = models.CharField(max_length=96)
content = models.TextField()
terms = models.ManyToManyField("Term", through="TermRelation")
class TermRelation(models.Model):
class Meta:
db_table = "tbl_term_relation"
term = models.ForeignKey("Term", db_column="id_term")
post = models.ForeignKey("Post", db_column="id_post")
admin.py@admin.register(Term)
class AdminTerm(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['name']})
]
@admin.register(Post)
class AdminPost(admin.ModelAdmin):
fieldsets = [
(None, {'fields':['title', 'content', 'terms']})
]