Lui*_*ana 6 javascript python django autofill django-admin
我正在寻找一种根据所选字段自动填充管理员中某些字段的方法。我在 Inline 中有一个外键字段,并希望在表单中实时显示来自当前选定对象的一些数据。
我的代码的简化版本来举例说明我在做什么:
# models.py
class Product(models.Model):
code = models.CharField(max_length=6, default=0)
name = models.CharField(max_length=25, null=True, blank=True)
class Provider(models.Model):
code = models.CharField(max_length=6, default=0)
name = models.CharField(max_length=25, null=True, blank=True)
address = models.CharField(max_length=25, null=True, blank=True)
class ProductProvider(models.Model):
product = models.ForeignKey(Product)
provider = models.ForeignKey(Provider)
cost = models.DecimalField(max_digits=6, decimal_places=2, default=0)
Run Code Online (Sandbox Code Playgroud)
我的管理类如下:
# admin.py
class ProductProviderInline(admin.TabularInline):
model = ProductProvider
fk_name = 'product'
fields = ('provider', 'cost', 'provider_address')
readonly_fields = ('provider_address',)
extra = 1
def provider_address(self, obj):
return obj.provider.address
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
model = Product
list_display = ('code', 'name')
inlines = [ProductProviderInline]
@admin.register(Provider)
class ProviderAdmin(admin.ModelAdmin):
model = Provider
Run Code Online (Sandbox Code Playgroud)
在这个例子中,一旦选择了提供者,我想更新只读字段address而不必保存对象。
我已经尝试了大多数“自动完成”第三方应用程序,对我来说可悲的是,它们中的大多数都专注于自动完成选择字段,而不是基于选择的自动填充表单。
我确定这需要一些 Javascript/Ajax。有没有第三方app。涵盖这个用例?我的情况没有,关于如何实现这一目标的任何建议?
| 归档时间: |
|
| 查看次数: |
1808 次 |
| 最近记录: |