【发布时间】:2021-04-03 21:53:15
【问题描述】:
我正在阅读 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)。我也迁移到了终端。
帮帮我!我将非常感谢您的帮助。提前谢谢你。
【问题讨论】:
-
mains:delete_friend 应该通向哪里?
-
您确实发生了一些迁移冲突,只需通过删除所有迁移文件但保留 init.py、删除 sqlite3.db、最后 makemigrations && migrate 来重新启动数据库
-
@ZeyadShaban,我已经删除了除 init.py 之外的所有迁移,但没有任何反应。
-
你删除了 sqlite3.db 吗?你也重新迁移了(pytohn3 manage.py makemigrations python3 manage.py migrate)
-
现在是
python manage.py dumpdata > seed.json。
标签: html django django-models django-views django-templates