Do you use proper django branch with model inheritance support? Trunk doesn't
On Apr 13, 5:37 pm, Julien <[EMAIL PROTECTED]> wrote: > Hi, > > I'm trying to have a model inherit from another which has a custom > field: > > import uuid > from django.db import models > from django.db.models.fields import CharField > > class UuidField(CharField): # <------------- The custom field > def __init__(self, verbose_name=None, name=None, auto=False, > **kwargs): > self.auto = auto > kwargs['max_length'] = 36 > kwargs['unique'] = True > if auto: > kwargs['editable'] = False > kwargs['blank'] = True > super(UuidField, self).__init__(verbose_name, name, **kwargs) > > def pre_save(self, model_instance, add): > value = super(UuidField, self).pre_save(model_instance, add) > if (not value) and self.auto: > # Assign a new value for this attribute if required. > value = str(uuid.uuid1()) > setattr(model_instance, self.attname, value) > return value > > def get_internal_type(self): > return "UuidField" > > Then, I do: > > class AbstractClass(models.Model): > uuid = UuidField(auto=True) > name = models.CharField(max_length=80, blank=True) > class Meta: > abstract = True > > class MyClass(AbstractClass): > title = models.CharField(max_length=80, blank=True) > > The problem is that when I run syncdb, the table 'myclass' only > contains the attributes 'name' and 'title', not 'uuid'. > > What am I missing. Do I need to alter the UUIField class to make it > compatible with model inheritance? > > Thanks a lot! > > Julien --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

