每当我尝试通过管理面板创建用户时,都会出现此错误。我不知道为什么。但如果我这样做,user = User.objects.create_user('aegon', 'g@ad.com', 'hehehe123')它会工作得很好。导致这种情况的任何提示?
我的数据库中 auth_user 只有一个用户。
错误:
django.db.utils.IntegrityError: (1062, "Duplicate entry '3' for key 'user_id'")
Run Code Online (Sandbox Code Playgroud)
我的模型:
class transaction(models.Model):
amount = models.IntegerField()
holding = models.ForeignKey(holding, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True)
def __str__(self):
return "amount: " + str(self.amount) + " - ip : " + str(self.holding.name) + " - user: " + str(self.user.username)
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
ip = models.IntegerField(default=0)
ingameName = models.CharField(max_length=50, default='NotSet')
userprofit = models.IntegerField(default=0)
user_transactions = models.ForeignKey(transaction, on_delete=models.CASCADE, blank=True, null=True)
def …Run Code Online (Sandbox Code Playgroud) 我尝试在上一篇文章中遵循以下答案: DateTimeField在管理系统中未显示
但是也许我太昏暗了,无法理解它。
没有显示created_at的字段。有人能指出我正确的方向吗?
模型
class holding_transaction(models.Model):
holdingname = models.ForeignKey(holding, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)
管理员
class holding_transactionAdmin(admin.ModelAdmin):
readonly_fields = ('created_at', )
admin.site.register(holding_transaction, holding_transactionAdmin)
Run Code Online (Sandbox Code Playgroud)
编辑:
当用户登录时,我想将他们简单地重定向到索引,而不是在URL中使用“ / login /”。
我有两个视图函数,一个用于登录和索引。
索引视图
def index(request):
context = {
}
return render(request, 'index.html', context)
Run Code Online (Sandbox Code Playgroud)
登录视图
def login(request):
username = request.POST.get('username', '')
password = request.POST.get('password', '')
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
else:
print('Wrong user')
return redirect('index') #<------ Something like that(?)
Run Code Online (Sandbox Code Playgroud)
网址格式
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^login/$', views.login, name='login'),
]
Run Code Online (Sandbox Code Playgroud)
控制台错误:
Correct user
Internal Server Error: /Crowd/login/
Traceback (most recent call last):
File "C:\Anaconda3\Lib\site-packages\django\core\handlers\base.py", line 149, in get_response
response = self.process_exception_by_middleware(e, request) …Run Code Online (Sandbox Code Playgroud) 是否可以将字典发送到模板.并使用django/python魔法在客户端工作?
视图功能
def index(request):
context = {
'users' : users,
'investments' : { 'one' : 1, 'two' : 2 },
}
return render(request, 'index.html', context)
Run Code Online (Sandbox Code Playgroud)
和HTML
{% if investments %}
<h1>{{ investments['one'] }}</h1> #<---- something like that.
{% endif %}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的页面上创建注销功能。但是每次我点击指向注销 url 的链接时,都会遇到这个递归错误。
下面是代码,如果用户登录,则假设显示内容和注销功能。否则显示登录表单。
查看方法
def login(request):
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
context = {
}
if user is not None:
print('Correct user'
else:
print('Wrong user')
return render(request, 'index.html', context)
def logout(request):
print('logged out')
logout(request)
return redirect('index')
Run Code Online (Sandbox Code Playgroud)
网址
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^login/$', views.login, name='login'),
url(r'^logout/$', views.logout, name='logout'),
]
Run Code Online (Sandbox Code Playgroud)
索引.html
{% if user %}
<h3>Hello {{user.username}}</h3>
<a href="{% url 'crowd:logout' %}">Logout</a>
{% else %}
<form action="{% url 'crowd:login' %}" method='post'>
{% csrf_token %} …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个简单的字符串附加到 and 对象中的列表中。但我猜 self 关键字会干扰 pyqt 窗口?
我该如何解决这个问题?
class Window(qt.QMainWindow):
def __init__(self, parent=None):
super(Window, self).__init__(parent)
self.CreateWidgets()
self.q = Qfetch.DataFetch()
def CreateWidgets(self):
toPortfolio = "str"
self.q.Portfolio.append(toPortfolio) #<---- This cause the error
Run Code Online (Sandbox Code Playgroud)
q班
class DataFetch():
def __init__(self):
self.Portfolio = []
Run Code Online (Sandbox Code Playgroud) 如果我有一个长度为3的DataFrame,有3列
a b c
1 2 3
4 5 6
7 8 9
Run Code Online (Sandbox Code Playgroud)
有没有一种聪明的方法b用NaN 替换前两行的色谱柱?