django没有这样的列:userdash\u assetlist.user\u id
当我遇到以下错误时,我正在尝试访问我的查看页面/模板django没有这样的列:userdash\u assetlist.user\u id,django,django-models,django-views,django-templates,Django,Django Models,Django Views,Django Templates,当我遇到以下错误时,我正在尝试访问我的查看页面/模板 no such column: userdash_assetlist.user_id 当我访问此url时 http://192.168.42.14:8081/view/ 我很确定它无法访问这里的对象 {% for td in user.assetlist.all %} 我不知道我弄坏了什么。它在以前的配置下工作,并在更改过程中的某个点中断 $cat userdash/templates/userdash/view.html {% ext
no such column: userdash_assetlist.user_id
当我访问此url时
http://192.168.42.14:8081/view/
我很确定它无法访问这里的对象
{% for td in user.assetlist.all %}
我不知道我弄坏了什么。它在以前的配置下工作,并在更改过程中的某个点中断
$cat userdash/templates/userdash/view.html
{% extends 'userdash/base.html' %}
{% block title %} View Assets page {% endblock %}
{% load crispy_forms_tags %}
{% block content %}
<h3>Your Assets Page</h3>
{% for td in user.assetlist.all %}
<p><a href="/{{td.id}}">{{td.name}}</a></p>
{% endfor %}
{% endblock %}
$cat userdash/views.py
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from .models import AssetList, Items
from .forms import CreateNewTrade
# Create your views here.
#def index(response):
# return HttpResponse("<h1>Hello Dark World!</h1>")
def userdash(response, id):
ls = AssetList.objects.get(id=id)
if response.method == "POST":
print(response.POST)
if response.POST.get("save"):
for item in ls.items_set.all():
if response.POST.get("c" + str(item.id)) == "clicked":
item.sell_asset = True
else:
item.sell_asset = False
item.save()
elif response.POST.get("newItem"):
txt = response.POST.get("new")
if len(txt) > 2: #this validation is retarded and needs to be fixed
ls.items_set.create(user_asset=txt, sell_asset=False)
else:
print("invalid")
#items = ls.items_set.get(id=1)
#return HttpResponse("<h1>User Dashboard!</h1><h2>%s</h2><br></br><p>%s</p>" %(ls.name, str(items.user_asset)))
return render(response, "userdash/list.html", {"ls":ls})
def home(response):
#pass
return render(response, "userdash/home.html", {})
def create(response):
#response.user
if response.method == "POST":
form = CreateNewTrade(response.POST)
if form.is_valid():
n = form.cleaned_data["name"]
t = AssetList(name=n)
t.save()
response.user.assetlist.add(t)
return HttpResponseRedirect("/userdash/%i" %t.id)
else:
form = CreateNewTrade()
return render(response, "userdash/create.html", {"form":form})
def view(response):
return render(response, "userdash/view.html", {})
如何从查看功能访问资产列表用户数据
仅供参考,我确实运行了一个新的makemigrations和migrate。我“认为”在我第一次运行这些之后它就坏了,但不确定。现在运行它之后,它就不工作了。完全删除sqlite数据库+删除迁移内容(但init),然后重建完整的数据库,修复了问题
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from .models import AssetList, Items
from .forms import CreateNewTrade
# Create your views here.
#def index(response):
# return HttpResponse("<h1>Hello Dark World!</h1>")
def userdash(response, id):
ls = AssetList.objects.get(id=id)
if response.method == "POST":
print(response.POST)
if response.POST.get("save"):
for item in ls.items_set.all():
if response.POST.get("c" + str(item.id)) == "clicked":
item.sell_asset = True
else:
item.sell_asset = False
item.save()
elif response.POST.get("newItem"):
txt = response.POST.get("new")
if len(txt) > 2: #this validation is retarded and needs to be fixed
ls.items_set.create(user_asset=txt, sell_asset=False)
else:
print("invalid")
#items = ls.items_set.get(id=1)
#return HttpResponse("<h1>User Dashboard!</h1><h2>%s</h2><br></br><p>%s</p>" %(ls.name, str(items.user_asset)))
return render(response, "userdash/list.html", {"ls":ls})
def home(response):
#pass
return render(response, "userdash/home.html", {})
def create(response):
#response.user
if response.method == "POST":
form = CreateNewTrade(response.POST)
if form.is_valid():
n = form.cleaned_data["name"]
t = AssetList(name=n)
t.save()
response.user.assetlist.add(t)
return HttpResponseRedirect("/userdash/%i" %t.id)
else:
form = CreateNewTrade()
return render(response, "userdash/create.html", {"form":form})
def view(response):
return render(response, "userdash/view.html", {})
OperationalError at /view/
no such column: userdash_assetlist.user_id
Request Method: GET
Request URL: http://192.168.42.14:8081/view/
Django Version: 3.0.5
Exception Type: OperationalError
Exception Value:
no such column: userdash_assetlist.user_id
Exception Location: /home/piggy/Env/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py in execute, line 396
Python Executable: /usr/local/bin/uwsgi
Python Version: 3.7.3
Python Path:
['.',
'',
'/home/piggy/Env/lib/python37.zip',
'/home/piggy/Env/lib/python3.7',
'/home/piggy/Env/lib/python3.7/lib-dynload',
'/usr/lib/python3.7',
'/home/piggy/Env/lib/python3.7/site-packages']