Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django上向模型添加字段的正确方法_Python_Django_Model_Migration - Fatal编程技术网

Python 在django上向模型添加字段的正确方法

Python 在django上向模型添加字段的正确方法,python,django,model,migration,Python,Django,Model,Migration,我有一个用户模型,我想在数据库和用户表单中为用户添加一个新字段。我在网上看过很多不同的方法,但我想知道什么是“正确”的方法。特别是创建迁移的正确方法 Django版本:(1,10,0,u'final',1)不确定我是否得到了您想要的,但假设您想在您的用户模型中添加一个“状态”字段,然后将其放在管理面板中,以便您可以与它交互(更新、更改等) 在models.py中,我们正在创建一个Profile类,该类将链接到用户,然后将状态添加到用户: class Profile(models.Model):

我有一个用户模型,我想在数据库和用户表单中为用户添加一个新字段。我在网上看过很多不同的方法,但我想知道什么是“正确”的方法。特别是创建迁移的正确方法


Django版本:(1,10,0,u'final',1)

不确定我是否得到了您想要的,但假设您想在您的用户模型中添加一个“状态”字段,然后将其放在管理面板中,以便您可以与它交互(更新、更改等)

在models.py中,我们正在创建一个Profile类,该类将链接到用户,然后将状态添加到用户:

class Profile(models.Model):
    " A profile added User """
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    # so to link the profile to a user
    status = models.CharField(max_length=100, blank=True)
    # a field status

    def __str__(self):
        return self.status
在admin.py中-我们正在将新创建的配置文件集成到用户

class ProfileInline(admin.StackedInline):
    model = Profile
    can_delete = False
    verbose_name_plural = 'Profile'
    fk_name = 'user'

class CustomUserAdmin(UserAdmin):
    inlines = (ProfileInline, )
    def get_inline_instances(self, request, obj=None):
        if not obj:
            return list()
        return super(CustomUserAdmin, self).get_inline_instances(request, obj)

# And then we unregister the User class and register the two updated ones
admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)
不要忘记运行
/manage.py makemigrations
,然后运行
/manage.py migrate
更新数据库。


如果这能回答你的问题,请告诉我

谢谢!这正是我想要的