我们要做的是使用不同模型的一些查询集,用初始值填充一个内联表单列表。我们有产品、指标(一些类别、类型或评级)和一个评级,它存储实际的评级并将指标与产品联系起来。
class Product(models.Model):
    name = models.CharField(max_length=100)
    price = models.IntegerField(max_length=6)
class Metric(models.Model):
    name = models.CharField(max_length=80)
    description = models.TextField()
class Rating(models.Model)
    rating = models.IntegerField(max_length=3)
    metric = models.ForeignKey(Metric)
    product = models.ForeignKey(Product)我们要得到的最终结果是产品管理页面上产品的所有可能评级的列表。如果我们的数据库中有20个指标,当我们转到产品页面时,我们希望在页面上看到20个评级表单,每个表单都绑定到一个不同的指标。我们不能使用基于评分的查询集来填充页面,因为特定产品/指标组合的评分可能还不存在。
我们一直在研究Django中的所有表单和表单集代码,并希望能提出一个如此简单的解决方案:
http://www.thenestedfloat.com/articles/limiting-inline-admin-objects-in-django
他只是重写了BaseInlineFormSet中的一些东西,并将其提供给内联。也许我们可以做这样的东西
class RatingInlineFormset(BaseInlineFormset):有一些重写。有什么想法吗?
发布于 2009-12-04 06:42:49
您正在寻找管理员解决方案还是前端解决方案?管理方式如下所示,您可以对其进行反向工程以获得类似的前端解决方案:
# admin.py
class RatingInline(admin.StackedInline):
    model = Rating
class ProductAdmin(admin.ModelAdmin):
    inlines = [ 
        RatingInline
    ]
class MetricAdmin(admin.ModelAdmin):
    pass
class RatingAdmin(admin.ModelAdmin):
    pass
admin.site.register(Product, ProductAdmin)
admin.site.register(Metric, MetricAdmin)
admin.site.register(Rating, RatingAdmin)https://stackoverflow.com/questions/1269052
复制相似问题