All, I am at my wit's end trying to come up with a structure to do the following. I have a "MasterModel" that acts as a template for an "InstanceModel." The MasterModel defines a set of name/value pairs. Each InstanceModel must have a name that corresponds to one of the names of the MasterModel and a value chosen from the set of values of that same MasterModel. So far I have the following code:
class MasterModel(models.Model): name = models.CharField() values = MasterValueField() (MasterValueField is a custom field class that overloads "to_python" and "value_to_string" such that it stores a string in the database but returns a list of tuples in Python - of the sort that can be passed to the "choices" attribute of a field.) class InstanceModel(models.Model): name = models.CharField() values = models.CharField() def __init__(self,*args,**kwargs): # not sure if this is a good way to do things master = kwargs.pop("master",None) super(InstanceModel,self).__init__(*args,*kwargs) if master: self._meta.get_field_by_name("name")[0].default = master.name self._meta.get_field_by_name("value")[0]._choices = master.values Now I have a class with a relationship to InstanceModel: class MyClass(models.Model): myField = models.CharField() myOtherField = models.CharField() instances = models.ManyToManyField("InstanceModel") There is a form based on MyClass, and a formset based on InstanceModel. These both get rendered properly in the view. What I am struggling with is figuring out how to initialize the instances. When I add a new InstanceModel form in the formset, how can I ensure that its name/value fields are constrained by the name/value fields of an appropriate MasterModel? I hope this is clear. Many thanks for your help. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.