django - 无法删除 django 中的超级用户并导致错误 django.db.utils.OperationalError: no such column: infrastructure_profile.slug
问题描述
在我创建了几个配置文件之后,我想在我的模型配置文件(扩展用户模型)中添加一个 slug 字段,然后在到达配置文件页面时出现错误,其中 url 中的 slug 说:
Django OperationalError: no such column: infrastructure_profile.slug
所以我看这里,看到了这个答案
它建议我删除所有迁移文件以重新启动数据库,所以我做了
然后我得到了同样的错误,所以我想我应该删除我已经拥有的所有用户,这些用户没有 slug 字段已经包括超级用户。
所以我跟着这个答案
我得到了那个错误
django.db.utils.OperationalError: no such column: infrastructure_profile.slug
知道发生了什么吗?
编辑
我的 models.py 包含这样的模型配置文件
class Profile(User):
user = models.OneToOneField(User, parent_link=True, on_delete=models.CASCADE)
bio = models.TextField()
slug = models.SlugField(unique=True, blank=True)
avatar_thumbnail = ProcessedImageField(upload_to='images/',
default='/images/default.png',
processors=[ResizeToFill(300, 300)],
format='JPEG',
options={'quality': 60})
location = models.TextField()
tags = models.ManyToManyField(Tag)
contact_information = models.TextField()
verified = models.BooleanField(default=False)
counter = models.IntegerField(default=0)
def __str__(self):
return self.user.username
def save(self, *args, **kwargs):
print('self.username')
print(self.user.username)
self.slug = self.user.username
super(Profile, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse('infrastructure:edit-user-profile', kwargs={'slug': self.slug})
解决方案
我不应该从 User 模型继承 Profile 并且我应该自定义用户以遵循这个答案
推荐阅读
- java - Java - 静态数组列表中对象的垃圾数组列表字段
- winforms - 如何使用 radchartview 在 Telerik UI for WinForms 中更改标签颜色
- python-2.7 - 嵌套 if 在 python 2.7 中不能正常工作
- angular - 如何在 Angular 6 中创建级联下拉列表(国家和州列表)
- c - 当其他成员设置为新值时,C 联合成员会给出特定/错误的值。为什么在 C 中的以下代码中会出现此输出?
- jmeter - 插件管理器屏幕不工作,无法为 jmeter 添加并行控制器插件
- exception - 下载器/exception_type_count/scrapy.exceptions.IgnoreRequest
- odoo - 如何在 odoo 9 中覆盖 session_gc() 方法?
- typescript - 角度 5 数组无法读取未定义的属性“”
- python - 熊猫数据框在多列上快速应用功能