From 9241fd0411473daed7a58f6e22ff693cc4e9e7df Mon Sep 17 00:00:00 2001
From: addffa <adli.daffa5@gmail.com>
Date: Mon, 27 Jul 2020 11:36:25 +0700
Subject: [PATCH] menggunakan custom user model

---
 .gitignore                                 |  3 --
 sizakat/account/admin.py                   |  4 +-
 sizakat/account/migrations/0001_initial.py | 44 ++++++++++++++++++++++
 sizakat/account/migrations/__init__.py     |  0
 sizakat/account/models.py                  |  6 ++-
 sizakat/settings.py                        |  2 +
 6 files changed, 53 insertions(+), 6 deletions(-)
 create mode 100644 sizakat/account/migrations/0001_initial.py
 create mode 100644 sizakat/account/migrations/__init__.py

diff --git a/.gitignore b/.gitignore
index 31d9ad9..e6dcff9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,9 +66,6 @@ coverage.xml
 # staticfiles
 staticfiles/
 
-# migrations file
-/**/migrations/
-
 # Jupyter Notebook 
 .ipynb_checkpoints 
 
diff --git a/sizakat/account/admin.py b/sizakat/account/admin.py
index ea5d68b..13b1b9a 100644
--- a/sizakat/account/admin.py
+++ b/sizakat/account/admin.py
@@ -1,3 +1,5 @@
 from django.contrib import admin
+from django.contrib.auth.admin import UserAdmin
+from .models import User
 
-# Register your models here.
+admin.site.register(User, UserAdmin)
diff --git a/sizakat/account/migrations/0001_initial.py b/sizakat/account/migrations/0001_initial.py
new file mode 100644
index 0000000..fa3c2a3
--- /dev/null
+++ b/sizakat/account/migrations/0001_initial.py
@@ -0,0 +1,44 @@
+# Generated by Django 3.0.7 on 2020-07-27 04:32
+
+import django.contrib.auth.models
+import django.contrib.auth.validators
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    initial = True
+
+    dependencies = [
+        ('auth', '0011_update_proxy_permissions'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='User',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('password', models.CharField(max_length=128, verbose_name='password')),
+                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
+                ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
+                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
+                ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')),
+                ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
+                ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
+                ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
+                ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
+                ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
+                ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
+                ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
+            ],
+            options={
+                'verbose_name': 'user',
+                'verbose_name_plural': 'users',
+                'abstract': False,
+            },
+            managers=[
+                ('objects', django.contrib.auth.models.UserManager()),
+            ],
+        ),
+    ]
diff --git a/sizakat/account/migrations/__init__.py b/sizakat/account/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/sizakat/account/models.py b/sizakat/account/models.py
index fd18c6e..48b7810 100644
--- a/sizakat/account/models.py
+++ b/sizakat/account/models.py
@@ -1,3 +1,5 @@
-from django.db import models
+from django.contrib.auth.models import AbstractUser
 
-# Create your models here.
+
+class User(AbstractUser):
+    pass
diff --git a/sizakat/settings.py b/sizakat/settings.py
index 94c92b7..b74bac4 100644
--- a/sizakat/settings.py
+++ b/sizakat/settings.py
@@ -42,6 +42,8 @@ INSTALLED_APPS = [
     'sizakat.account',
 ]
 
+AUTH_USER_MODEL = 'account.User'
+
 GRAPHENE = {
     'SCHEMA': 'sizakat.schema.schema',
 }
-- 
GitLab