姜戈"no such column: mains_profile_friends.user_id"



我正在学习Django教程,在我的博客应用程序的浏览器(本地主机(中打开朋友页面时遇到了这个错误。

我使用Django==3.1.2。

views.py

@login_required
def friend_list(request):
p = request.user.profile
friends = p.friends.all()
context = {'p':p,'friends':friends}
return render(request, 'mains/friends.html' , context )

models.py

class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE,default='',unique=True)
full_name = models.CharField(max_length=100,default='')
friends = models.ManyToManyField(User, related_name='friends',blank=True,default='',null=True)

friends.html

{% block content %}
<div class="container">
<div class="row">
<div class="col-md-8">
{% if friends %}
<div class="card card-signin my-5">
<div class="card-body">
{% for user_p in friends %}
<a href="{{ user_p.get_absolute_url }}">{{ user }}</a>
<a class="text-dark" href="{{ user_p.get_absolute_url }}"
><b>{{ user_p }}</b></a>
<br /><br />
{% endfor %}
{% endif %}
{% endblock content %}

urls.py

path('friends/', views.friend_list, name='friend_list'), 

问题

当我在浏览器中打开friends.html时,它会给我一个错误:no such column: mains_profile_friends.user_id

我已经试过了

1( 。我已经替换了所有与friend_list视图相关的名称。

2( 。我也迁移到了Terminal。

帮帮我!我将非常感谢你的帮助。提前谢谢。

您必须删除数据库,然后删除迁移,但将init.py保留在每个应用程序文件夹的迁移文件夹中,最后使用python3 manage.py makemigrations再次迁移,然后使用python2manage.py migration。如果你有不想丢失的数据,那么就用JSON复制你所拥有的数据,我认为这是用python3 manage.py dumb>seed.json,我不确定

最新更新