I think the best way is to override the Model's save method: class Structure(models.Model): parent = models.ForeignKey('site.Structure',blank=True,null=True,default=0) title = models.CharField(max_length=128,verbose_name=u'Заголовок') url = models.CharField(max_length=48,verbose_name=u'URL') ordering = models.IntegerField(blank=True,editable=False,default=1) level = models.SmallIntegerField(blank=True,editable=False,default=1)
def save(self, *args, **kwargs): if not self.id: # If the primary key is not defined, this is a new insertion self.ordering = 42 # set magic values self.level = 99 super(Structure, self).save(*args, **args) 2010/5/27 ev <evpozdnia...@gmail.com> > class Structure(models.Model): > parent = > models.ForeignKey('site.Structure',blank=True,null=True,default=0) > title = models.CharField(max_length=128,verbose_name=u'Заголовок') > url = models.CharField(max_length=48,verbose_name=u'URL') > ordering = models.IntegerField(blank=True,editable=False,default=1) > level = > models.SmallIntegerField(blank=True,editable=False,default=1) > > I'd like to set Structure.ordering and Structure.level with special > values, based on something. > > Is there way to provide Structure.before_add(self) method? I need this > method to be called every time after saving model data. > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-us...@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@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.