【问题标题】:Django add fields to createsuperuser commandDjango添加字段以创建超级用户命令
【发布时间】:2021-06-22 09:08:09
【问题描述】:

我有几个在 Django 中使用的数据库表。现在我想围绕数据库设计一切,而不是在 Django ORM 中,而是在我的 MySQL 数据库的理性风格中。这包括用于不同信息的多个表格。我已经画了我的意思。我希望createsuperuser 命令查询一次user 表和一次residence 表。

这可能看起来像这样:

C:\Users\Project>python manage.py createsuperuser
username: input
firstname: input
lastname: input
password: *****
country: input
city: input
street: input

编辑

有没有办法改变命令?

【问题讨论】:

    标签: python django database django-orm


    【解决方案1】:

    https://docs.djangoproject.com/en/3.1/howto/custom-management-commands/#module-django.core.management

    您可以创建 django 自定义命令,如下所示:

    python manage.py createsuperuser2(或类似名称)

    class Command(BaseCommand):
    
        def handle(self, *args, **options):
           username = input("username")
           .... (next params)
    
    
           user = User.objects.get_or_create(username=username, defaults={"blabla"}
           Residence.objects.create(user=user, next params....)
    

    【讨论】:

    • 这真的那么容易吗?所以我会尝试。谢谢
    • 我认为它应该可以工作,但我应该在哪里调用这个文件?
    • 如果你有 app/management/commands/createsuperuser2.py 之类的文件,你只需运行 python manage.py createsuperuser2
    猜你喜欢
    • 2021-11-16
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多