Django模型中的自定义保存方法及登录问题

2024-04-27 20:03:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我为我的模型编写了一个自定义保存方法:

class UserProfile(User):
      sex = models.SmallIntegerField(verbose_name=_(u'Sex'), choices=SEX_TYPES, default=1)
      .
      .


     def save(self, **kwargs):
         if self.pk is not None:
             UserSettings.objects.create(
                 user_id = self.pk
             )
         super(UserProfile, self).save(**kwargs)

以及:

class UserSettings(models.Model):
    user = models.ForeignKey('userprofile.UserProfile', verbose_name=_(u"User"), related_name='own_user', null=True, blank=True)

    def __unicode__(self):
        return unicode(self.id)

此自定义方法创建UserSettings对象(在寄存器中)。但是在^{}之后,另一个UserSettings创建。 我怎样才能避免这个问题?你知道吗


Tags: 方法nameselfidverbosemodelssavedef