Thanks TiNo, Are there any caveats with this? e.g. to make syncdb etc. work correctly?
On Jun 17, 10:13 pm, TiNo <[email protected]> wrote: > You can acces a models field through Model._meta.fields. You can probably > loop through these fields in your Model's __init__ method, and change their > blank attribute to false. > > TiNo > > On Wed, Jun 17, 2009 at 13:32, Richard Colley <[email protected]>wrote: > > > > > Ok, after looking through the django wiki entries for AuditTrail > > (http://code.djangoproject.com/wiki/AuditTrail) and DynamicModels > > (http://code.djangoproject.com/wiki/DynamicModels), I guess I can see > > that there is a potential solution there. > > > But I'd still appreciate any comments on the desirability of doing > > this, and potential alternative solutions. > > > Thanks, > > Richard > > > On Jun 17, 8:03 pm, Richard Colley <[email protected]> wrote: > > > I have a need to define 2 models, both with a large number of fields > > > in common, but where in once case these common fields are completely > > > optional, and in the other case they are mandatory. > > > > class XYZTemplate(Model): > > > field_a = TextField( .... blank=True) > > > field_b = TextField( .... blank=True) > > > field_c = IntegerField( .... blank=True) > > > # other fields unique to this class > > > > Notice, in the XYZTemplate, the fields from A are all optional. > > > > class XYZ(Model): > > > field_a = TextField( .... blank=False) > > > field_b = TextField( .... blank=False) > > > field_c = IntegerField( .... blank=False) > > > # other fields unique to this class > > > > But in XYZ they must be filled in. > > > > My purpose is to allow "templates" (gee that's a bit of an overworked > > > term ... I am *not* referring here to django html templates) of an > > > object to be partially filled in and stored in the database as an > > > XYZTemplate Then at a later time, many XYZ instances will be created > > > based on the "default" values stored in an XYZTemplate instance. > > > > I was thinking along the lines of an abstract model like so: > > > > class A(Model): > > > field_a = TextField( .... blank=True) > > > field_b = TextField( .... blank=True) > > > field_c = IntegerField( .... blank=True) > > > class Meta: > > > abstract=True > > > app_label='...' > > > > Then define the other classes as: > > > > class XYZTemplate(Model, A): > > > # other fields unique to this class > > > > class XYZ(Model, A): > > > # other fields unique to this class > > > > But how do I make the XYZ field_a, field_b, field_c have blank=False. > > > > Without violating DRY, is there any way I can do this in Django? Can > > > I fiddle with the attributes of the fields from class A in class XYZ? > > > Any other solutions? > > > > Thanks for any advice, > > > Richard --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---

