在django admin中获取对象名称
Get the object name in django admin
嘿!
我想在我的管理区域中有一个营业额类别,并且在那里我有一个包含货币的字段。这是一个带有预先给定货币的下拉字段。
我的问题是,显示的不是实际货币,而是它们的 ID。 (如对象 123)。
有谁知道如何为内联解决这个问题?
# models.py
class Currency(models.Model):
code = models.CharField(max_length=3, unique=True)
currency = models.CharField(max_length=150, unique=True)
class Turnover(models.Model):
currency = models.ForeignKey(Currency, on_delete=models.PROTECT)
# admin.py
class TurnoverInline(admin.TabularInline):
model = Turnover
extra = 1
classes = ["collapse"]
class SomeAdmin(admin.ModelAdmin):
form = SomeForm
save_on_top = True
inlines = [
TurnoverInline
]
对于类似的问题,我创建了 admin.ModelAdmins 并在模型中集成了 code_str(self) 和 str(self) 方法。但是那些不是内联的,在 SomeForm/SomeAdmin 中是 fields/autocomplete_fields.
您可以在 Currency
模型中使用 __str__
:
class Currency(models.Model):
code = models.CharField(max_length=3, unique=True)
currency = models.CharField(max_length=150, unique=True)
def __str__(self):
return f'{self.code} - {self.currency}'
下拉菜单应显示此格式,而不是对象和 ID。
嘿!
我想在我的管理区域中有一个营业额类别,并且在那里我有一个包含货币的字段。这是一个带有预先给定货币的下拉字段。
我的问题是,显示的不是实际货币,而是它们的 ID。 (如对象 123)。
有谁知道如何为内联解决这个问题?
# models.py
class Currency(models.Model):
code = models.CharField(max_length=3, unique=True)
currency = models.CharField(max_length=150, unique=True)
class Turnover(models.Model):
currency = models.ForeignKey(Currency, on_delete=models.PROTECT)
# admin.py
class TurnoverInline(admin.TabularInline):
model = Turnover
extra = 1
classes = ["collapse"]
class SomeAdmin(admin.ModelAdmin):
form = SomeForm
save_on_top = True
inlines = [
TurnoverInline
]
对于类似的问题,我创建了 admin.ModelAdmins 并在模型中集成了 code_str(self) 和 str(self) 方法。但是那些不是内联的,在 SomeForm/SomeAdmin 中是 fields/autocomplete_fields.
您可以在 Currency
模型中使用 __str__
:
class Currency(models.Model):
code = models.CharField(max_length=3, unique=True)
currency = models.CharField(max_length=150, unique=True)
def __str__(self):
return f'{self.code} - {self.currency}'
下拉菜单应显示此格式,而不是对象和 ID。