Đã giải quyết: django cách tạo siêu người dùng nếu không tồn tại khi di chuyển

Nếu siêu người dùng không tồn tại trong quá trình di chuyển, Django sẽ tạo một siêu người dùng.

I have a migration that creates a superuser if it does not exist. 
<code>def create_superuser(apps, schema_editor):
    User = apps.get_model('auth', 'User')

    if not User.objects.filter(username='admin').exists():
        User.objects.create_superuser('admin', 'admin@example.com', 'password')


class Migration(migrations.Migration):

    dependencies = [
        ('myapp', '0001_initial'),
    ]

    operations = [
        migrations.RunPython(create_superuser),
    ] 
</code>

Dòng đầu tiên tạo một hàm sẽ tạo siêu người dùng nếu chưa tồn tại.
Dòng thứ hai lấy mô hình Người dùng từ ứng dụng 'auth'.
Dòng thứ ba kiểm tra xem người dùng có tên người dùng 'admin' có tồn tại hay không. Nếu không,
dòng thứ tư tạo một siêu người dùng với tên người dùng 'admin', địa chỉ email 'admin@example.com' và mật khẩu 'password'.
Dòng thứ năm và thứ sáu tạo một lớp di chuyển và chỉ định rằng nó phụ thuộc vào quá trình di chuyển '0001_initial' trong ứng dụng 'myapp'.
Dòng thứ bảy chỉ định rằng quá trình di chuyển sẽ chạy chức năng 'create_superuser'.

Siêu người dùng là gì

Siêu người dùng là người dùng có đặc quyền quản trị trên trang web Django. Họ có thể làm những việc như tạo và quản lý mô hình, dạng xem và ứng dụng.

bài viết liên quan:

Để lại một bình luận