TabularInlineエディタを使用して、モデルの関係を別のモデルに編集できるようにしています。それはマップテーブルを通して多対多です。 djangoにtabularInlineの行のマップテーブル自体へのアイコンリンクを入れる方法はありますか?中間テーブルオブジェクトを編集できるようにDjango TabularInlineを設定する方法
たとえば、Machine2PartによってMachineとPartがマップされていて、Machine内でTabularInlineを使用してPartsの編集を行う場合、プルダウンメニューが表示されます私のMachine2Part管理フォームがこの場所からアクセスできるようにしたいフィールド編集を持っているため、この関係の背後にあるMachine2Partオブジェクト/行の管理フォームに私を連れて行くリンク。次の各行に「変更」のリンクを追加します
class Part (models.Model):
name = models.CharField(max_length=45)
class Meta:
db_table = "part"
def __str__ (self):
return self.name
class Machine (models.Model):
name = models.CharField(max_length=45)
parts = models.ManyToManyField(Part, through='Machine2Part')
class Meta:
db_table = "machine"
def __str__ (self):
return self.name
class Machine2Part (models.Model):
machine = models.ForeignKey(Machine,db_column='machineId')
part = models.ForeignKey(Part,db_column='partId')
class Meta:
db_table = "machine2part"
class Machine2PartInline (admin.TabularInline):
# fields = ['name']
model = Machine2Part
class MachineAdmin (admin.ModelAdmin):
inlines = [Machine2PartInline]
admin.site.register(Machine, MachineAdmin)
admin.site.register(Part)
admin.site.register(Machine2Part)
私は中間テーブルの上に余分なフィールドを表示したい場合ええ、それは良いでしょう。残念ながら、この中間のMachine2Partに関連する他のテーブルのいくつかのフィールドがあります(つまり、中間テーブルにはMachineとPartだけでなく、外部キーもあります)。望ましい。 – dam