如何在Python Django中从数据库中的对象获取特定属性?

如何在Python Django中从数据库中的对象获取特定属性?,python,django,Python,Django,对于任务,我必须创建一个网站,用户可以在其中添加数据库中的其他用户作为他的朋友。为了实现这一点,我想创建一个dropdownlist,用户可以在其中选择其他用户的名字+姓氏。但是,如何创建包含所有用户名的列表?如何制作下拉列表 这是我的模特 class User(models.Model): firstname = models.CharField(max_length=30) lastname = models.CharField(max_length=50) cou

对于任务,我必须创建一个网站,用户可以在其中添加数据库中的其他用户作为他的朋友。为了实现这一点,我想创建一个dropdownlist,用户可以在其中选择其他用户的名字+姓氏。但是,如何创建包含所有用户名的列表?如何制作下拉列表

这是我的模特


class User(models.Model):
    firstname = models.CharField(max_length=30)
    lastname = models.CharField(max_length=50)
    country = models.CharField(max_length=50)
    email = models.EmailField(max_length=50)
    phone = models.CharField(max_length=30)
    password = models.CharField(max_length=128)
    GENDER_CHOICES = (
        ('M','Male'),
        ('F','Female'),
        ('X','X'),
        )
    gender = models.CharField(max_length=1, choices=GENDER_CHOICES)

这是我在views.py中的register_视图:

def register_view(request):
    if 'email' in request.GET:
        newUser = User(firstname=request.GET['firstname'],
                      lastname=request.GET['lastname'], 
                      country=request.GET['country'],
                      email=request.GET['email'], 
                      phone=request.GET['phone'], 
                      password=request.GET['password'],
                      gender=request.GET['gender'])
        newUser.save()
        return redirect('/login')
    else:
        return render(request, 'register.html')
请帮帮我…我为我愚蠢的问题和我的英语深表歉意,因为它不是我的母语。然而,我真的需要至少在这方面有所突破

非常感谢

如果你的意思是像dropdown那样,纯Django可能还不够,试试bootstrap之类的东西,它很容易使用。 但是,如果您不想费心使用一些前端框架,只需要一个简单的选择输入框,旁边有一个提交按钮,Django可以这样做

首先,您需要添加一个字段来跟踪朋友,并指定如何显示这些用户:

类Usermodels。模型: firstname=型号。CharFieldmax_长度=30 lastname=型号。CharFieldmax_长度=50 国家/地区=型号。Charfield最大长度=50 电子邮件=型号。电子邮件字段最大长度=50 电话=型号。CharFieldmax_长度=30 密码=型号。CharFieldmax_长度=128 friends=models.ManyToManyFieldself 性别选择= “M”,“男性”, “F”,“女性”, "X","X",, 性别=型号。CharFieldmax_长度=1,选项=性别_选项 定义自身: 返回f{self.firstname}{self.lastname} 然后为用户模型添加一个

来自django导入表单 从appname.models导入用户 类registerforms.ModelForm: 类元: 模型=用户 字段='\uuuu所有\uuuu' 在view.py中,将其传递给模板

def寄存器_视图请求: 如果request.method==“POST”: 你的代码 register\u form=RegisterFormrequest.POST 如果登记表有效: 注册表格保存 返回重定向'/login' elif request.method==“GET”: 你的代码 register\u form=RegisterForm 返回渲染 要求 'register.html', { “注册表格”:注册表格, } 最后,以以下方式呈现表单:

{%csrf_令牌%} {{form}}
您可能有很多不熟悉的概念,如果有什么让您感到困惑,请留下评论。

您打算如何开发前端?您正在使用django表单吗?您的列表是否应该包含您的用户模型中的所有名字+姓氏?或者你会排除其中一些,至少其中一个?谢谢你的详细回答。但是,仍然存在一些问题:当我在models.py中尝试从appname.models导入用户时,他们说由于导入未解决而出现错误。这怎么可能?当我在views.py中写入这一行时,不会出现相同的错误。由于我甚至不能前进到这一点,我不知道结果会是什么,因此有以下问题:我希望在用户进入数据库时,表单不在注册页面,而是在欢迎页面上,登录用户可以选择朋友。我应该换什么?谢谢@SoufianeAswin等等,你是不是真的把appname.models import User复制到你的models.py文件中了?@SoufianeAswin你可以试试django.contrib.auth.models.User中的User类,这样你就可以像使用django的API一样注销,然后把add-friend表单放在欢迎页面上,这会容易得多。但是请记住编写自己的代码,而不是从答案中复制,否则它将无法工作。