Django не мигрирует после makemigrations
Я работаю над проектом Django с некоторыми приложениями, но с самого начала у меня возникли проблемы с 'makemigrations' и 'migrate'. Эти две программы выдают мне какие-то бессмысленные ошибки, решения которых я не могу найти. А со вчерашнего дня, когда я скопировал чужой код и заменил его своим, 'makemigrations' работает, а 'migrate' - нет. Вот мои models.py:
Вот мой файл admin.py
# Django packages
from django.contrib import admin
# Third party apps
from mptt.admin import DraggableMPTTAdmin
# Local apps
from . import models
@admin.register(models.Video)
class VideoAdmin(admin.ModelAdmin):
list_display = ('creator', 'views', 'jalali_date')
list_filter = ('creator', 'created', 'updated')
search_fields = ('description', 'about_video')
raw_id_fields = ('creator',)
prepopulated_field = {'slug': ('title',)}
admin.site.register(
models.Category,
DraggableMPTTAdmin,
list_display=(
'tree_actions',
'indented_title',
),
list_display_links=(
'indented_title',
),
prepopulated_field={'slug': ('name',)}
)
admin.site.register(
models.Comment,
DraggableMPTTAdmin,
list_display=(
'tree_actions',
'indented_title',
),
list_display_links=(
'indented_title',
),
)
@admin.register(models.Like)
class LikeAdmin(admin.ModelAdmin):
list_display = ('user', 'video', 'jalali_date')
list_filter = ('user', 'created')
search_fields = ('user', 'video')
вот другой файл модели, в котором я настроил модель User:
from django.db import models
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin
from django.utils.translation import gettext_lazy as _
# Third party apps
from ckeditor.fields import RichTextField
# Local apps
from .managers import UserManager
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(max_length=255, unique=True, verbose_name=_('آدرس ایمیل'))
phone_number = models.CharField(max_length=11, unique=True, verbose_name=_('تلفن همراه'))
fullname = models.CharField(max_length=255, verbose_name=_('نام کامل'))
bio = RichTextField(null=True, blank=True, verbose_name=_('بیوگرافی'))
image = models.ImageField(upload_to='user/images/', null=True, blank=True,
verbose_name=_('تصویر پروفایل'))
is_active = models.BooleanField(default=True, verbose_name=_('فعال'))
is_admin = models.BooleanField(default=False, verbose_name=_('ادمین'))
objects = UserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['fullname']
class Meta:
verbose_name = _('کاربر')
verbose_name_plural = _('کاربرها')
def __str__(self):
return self.phone_number
@property
def is_staff(self):
return self.is_admin
admin.py:
# Django packages
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
# Local apps
from .models import User
from .forms import UserCreationForm, UserChangeForm
from .managers import UserManager
class UserAdmin(BaseUserAdmin):
form = UserChangeForm
add_form = UserCreationForm
list_display = ('phone_number', 'email', 'fullname', 'is_admin')
list_filter = ('is_active', 'is_admin')
fieldsets = (
('Main', {'fields': (
'email', 'phone_number', 'fullname', 'bio', 'age', 'image', 'password'
)}),
('Permissions', {'fields': (
'is_active', 'is_admin', 'is_superuser', 'groups', 'user_permissions')}
),
)
add_fieldsets = (
(None, {'fields': (
'phone_number', 'email', 'fullname', 'password1', 'password2')}
),
)
search_fields = ('phone_number', 'email', 'fullname')
ordering = ('email',)
filter_horizontal = ('groups', 'user_permissions')
def get_form(self, request, obj=None, **kwargs):
form = super().get_form(request, obj, **kwargs)
is_superuser = request.user.is_superuser
if not is_superuser:
form.base_fields['is_superuser'].disable = True
return form
admin.site.register(User, UserAdmin)
Я удалял файлы в папках migrations, (кроме init.py) тысячи раз, но после 'makemigratino' файлы создаются, но затем, когда я запускаю python manage.py migrate, я каждый раз сталкиваюсь с этим 'Running migrations: No migrations to apply.'
Я даже удалил SQLite с помощью 'python manage.py flush', но это опять ничего не перенесло. И это не помогает запустить проект, и всякий раз, когда я запускаю его, я сталкиваюсь с этим: 'no such column: video_video.about_video'. Я буду очень рад, если вы сможете помочь мне с этим
В ваших моделях попробуйте
user = models.OneToManyFields(User, on_delete=models.CASCADE)
Затем попробуйте