python - 使用 django 访问多个值时出现问题

标签 python django

我是Python新手,我正在使用django作为学生数据库应用程序。 学生数据库应用程序必须显示 ID、名字、姓氏、科目名称、分数。 单个学生有多个科目及其分数。 我在访问学生有多个科目和分数的多个值时遇到问题。

模型.py

class Person(models.Model):
    firstname=models.CharField(max_length=50)
    lastname=models.CharField(max_length=50)

    def __unicode__(self):
        return (self.firstname,self.lastname)


class Marksheet(models.Model):
    subname=models.CharField(max_length=50)
    marks=models.IntegerField(max_length=10)
    person=models.ForeignKey(Person)

    def __unicode__(self):
        return self.subname

View .py

def add_page(request,page_name): # function for creating  the new records
    p1=None
    p2=None
    if request.method=='POST':
        p1=Person(firstname=request.POST['firstname'],lastname=request.POST['lastname'])
        p1.save()
        p2=Marksheet(subname=request.POST.getlist('subnames'),person=Person(person_id))
        p2.save()
    return render_to_response("add.html",{"page_name":page_name})

创建记录我正在使用 html 中的表单,如下所示......

模板 添加.html

<form method="post" action="/newdcl/{{page_name}}/add/" > {% csrf_token %}
    First name:  <input type="text" name="firstname" /> <br />
    Last name:  <input type="text" name="lastname" /> <br /> 
    Operating System  <input value="os" name="subnames" type="checkbox"><br />
    System Programming <input value="sp" name="subnames" type="checkbox"> <br />
    Maths <input value="maths" name="subnames" type="checkbox"> <br />        
    <input type="submit" value="save" >
</form> 

有人可以帮我吗???

最佳答案

您的问题似乎在于您尝试创建标记表的方式,您无法将值列表分配给这样的一个字段。 使用你当前无形的、可怕的、未经验证的设置......你可以做这样的事情-

p1=Person(firstname=request.POST['firstname'], 
          lastname=request.POST['lastname'])
p1.save()
for subname in request.POST.getlist('subnames'):
    new = MarkSheet(subname=subname, person=p1) 
        #no data for marks, must define it to be able to be blank/null
    new.save()

如果您不想有任何初始标记,则需要将 blank=True, null=True 添加到 models.py 中的标记字段中。

请查看Making QueriesForms

关于python - 使用 django 访问多个值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6942106/

相关文章:

python - Keras和VGG训练: why do I "lose" training and validation examples following model. Predict_generator

python - 使用 Jython 运行 Flask 应用程序

Python有效地创建密度图

python - 在 Ubuntu 12.04 上为 PostgreSQL 打开端口 5432 有困难

python - 如何在 django 模板中设置页面范围的索引

python - Django 应用程序中的 UnicodeEncodeError

python - 将列表写入 csv 文件而不在 python 中循环

python - windows下flask 404错误

python - Django 测试 : error creating the test database: permission denied to copy database "template_postgis"

python - Django 将项目路径存储在哪里?