簡體   English   中英

在Django上提交表單時添加用戶名

[英]Adding username when submitting form on django

我正在嘗試在django網站上的表單上提交信息時存儲當前登錄用戶的用戶名。

到目前為止,這是我的models.py文件的外觀:

from django.db import models
from django.contrib.auth.models import User

class Transfer(models.Model):
    id = models.AutoField(primary_key=True)
    username = User._meta.get_field('username')
    amount = models.DecimalField(max_digits=10, decimal_places=2)
    timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)

但是,這似乎不起作用。 遷移等工作正常,服務器運行,但是當我在表單上提交信息時,出現以下錯誤:

Exception Type: IntegrityError
Exception Value: UNIQUE constraint failed: transfer_transfer.username

關於如何獲取用戶名的任何建議都將非常有幫助。

提前致謝

該聲明在模型定義中沒有任何意義。 從獲得與User.username相同的屬性的意義上說,它可能“起作用”,但是它沒有做任何有用的事情。 您也可以直接將其定義為models.CharField

相反,您需要定義一個從Transfer to User的ForeignKey,並將其稱為user 有很多關於如何執行此操作的文檔,還有很多關於如何在提交表單時自動填寫用戶字段的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM