What we're trying to do is populate a list of inline forms with initial values using some queryset of a different model. We have products, metrics (some category or type or rating), and a rating, which stores the actual rating and ties metrics to products.
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)
The end result we're going for is a list of all possible ratings for a Product on the Product admin page. If we have 20 Metrics in our database, when we go to the Product page we want to see 20 forms for Ratings on the page, each one tied to a different Metric. We can't use a queryset based on Ratings to populate the page, because the Rating for a particular Product/Metric combination might not yet exist.
We've been looking at all the forms and formset code in Django, and are hoping to come up with a solution as simple as this:
http://www.thenestedfloat.com/articles/limiting-inline-admin-objects-in-django
He just overrides something in BaseInlineFormSet and gives it to the inline. Maybe we can just make something like
class RatingInlineFormset(BaseInlineFormset):
With some overrides. Any ideas?