Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django模型获取用户信息_Python_Django_Django Models - Fatal编程技术网

Python django模型获取用户信息

Python django模型获取用户信息,python,django,django-models,Python,Django,Django Models,尝试创建一个包含艺术家和歌曲的模型,并让您知道输入的用户名。 到目前为止,我已经在我的模型中 from django.contrib.auth.models import User class Song(models.Model): uesrname = models.ForeignKey(User,on_delete=models.CASCADE) artist = models.CharField(max_length=30) song=models.CharField(max_len

尝试创建一个包含艺术家和歌曲的模型,并让您知道输入的用户名。 到目前为止,我已经在我的模型中

from django.contrib.auth.models import User


class Song(models.Model):

uesrname = models.ForeignKey(User,on_delete=models.CASCADE)
artist = models.CharField(max_length=30)
song=models.CharField(max_length=30)
我添加了一个可以处理用户输入数据的表单,但该表单允许我从所有令人兴奋的用户和输入艺术家中选择一个,即song

forms.py
class NewSong(forms.ModelForm):
    class Meta:
        model=Song
        exclude = ['username']

我如何更改它,以便在表单中只有我自己的登录用户?

您可以在forms.py文件中排除用户名字段作为
exclude=['username']
,并在表单的保存方法中将username设置为
request.user
。有关详细信息:

它会隐藏用户名部分,但如果form.is\u valid():instance=form.save(commit=False)instance.username=request.user instance.save(),则此代码不起作用。错误是什么?您还可以在问题中共享forms.py文件吗?错误在于它必须是用户实例和User.objects.get(request.User)不能正常工作如果用户登录并点击表单的保存按钮,request.User应该返回一个用户对象。你在出示表格之前检查过了吗?您还可以使用request.user.is\u authantated()方法在设置为实例之前进行确认。问题中不清楚错误。