创建用户时添加UserProfile字段值

时间:2013-07-11 02:15:00

标签: python django

我在Django 1.4.5上使用UserProfiles得到了这么多。它有效,但现在我希望能够在创建用户时在管理员的自定义字段中添加值。这种方式有效,我需要创建新用户,然后返回并添加UserProfile字段。

在创建用户时添加UserProfile字段需要做什么和什么?

### admin.py
class UserProfileInline(admin.StackedInline):
    model = UserProfile
    can_delete = False
    verbose_name_plural = 'profile'


# Define a new User admin
class UserAdmin(UserAdmin):
    inlines = (UserProfileInline, )

    # Something here?


    # Re-register UserAdmin
    admin.site.unregister(User)
    admin.site.register(User, UserAdmin)



### models.py
    class UserProfile(models.Model):
    """Create additional fields for users.

    Site ID

    """
    # This field is required
    user = models.OneToOneField(User)

    # Additional fields to add.
    site_id = models.IntegerField(null=True, blank=True, verbose_name='Site ID')


def create_user_profile(sender, instance, created, **kwargs):
    if created:
        UserProfile.objects.create(user=instance)

        # Or maybe here?

post_save.connect(create_user_profile, sender=User)

1 个答案:

答案 0 :(得分:0)

事实证明我实际上遇到了这个问题。这篇文章解决了它。

Django - UserProfile m2m field in admin - error