“UserProfile匹配查询不存在”错误,但是,我正在尝试创建一个

时间:2015-06-23 02:46:29

标签: python django django-models django-views django-signals

我的UserProfile对应于Django 1.8中的User模型,我希望当用户登录时,它会自动创建一个UserProfile,但我遇到以下错误:

UserProfile matching query does not exist.

在主项目视图中:

def get_or_create_user_profile(request):
    user = request.user
    try:
        profile = user.userprofile
    except UserProfile.DoesNotExist:
        profile = UserProfile.objects.create(user=user)
    return profile

我的UserProfile模型

def get_image_path(instance, filename):
    formats = str(instance.id) + 'moolak' + '.' + filename.split('.')[-1]
    return os.path.join('../media/images/users/', str(instance.id)+'/avatar', formats)

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    avatar = models.ImageField(blank=True, upload_to=get_image_path, default='/static/image/avatar/male.png')
    age = models.IntegerField(blank=True, validators=[MinValueValidator(3), MaxValueValidator(99)])

def save(self, *args, **kwargs):
    this = UserProfile.objects.get(id=self.id)
    if this.avatar != self.avatar:
        this.avatar.delete(save=False)
    super(UserProfile, self).save(*args, **kwargs)

0 个答案:

没有答案