Python 无法分配"&书信电报;查询集[<;子项:名称>;]>&引用;:&引用;Mark.MarkOwner";必须是一个";“儿童”;实例

Python 无法分配"&书信电报;查询集[<;子项:名称>;]>&引用;:&引用;Mark.MarkOwner";必须是一个";“儿童”;实例,python,django,Python,Django,这是另一个愚蠢的问题。我是django的新手,不知道我需要做什么。有人能帮我吗?或者发送几页文档?目标是将标记选择器指定给它显示的子对象。这是我的一些代码 我的HTML models.py url.py path('/',views.mlat,name='mlat'), 路径(“//addmark/”,views.addmark,name='addmark') 谢谢你的帮助 问题来自您的: d=Child.objects.filter(ChildClass=a) .filter返回查询集,您不

这是另一个愚蠢的问题。我是django的新手,不知道我需要做什么。有人能帮我吗?或者发送几页文档?目标是将标记选择器指定给它显示的子对象。这是我的一些代码

我的HTML

models.py

url.py

path('/',views.mlat,name='mlat'),
路径(“//addmark/”,views.addmark,name='addmark')

谢谢你的帮助

问题来自您的:
d=Child.objects.filter(ChildClass=a)
.filter返回查询集,您不能将查询集分配给Mark.MarkOwner

将其更改为:

d = Child.objects.get(ChildClass = a)
返回一个子实例

但如果子级不存在,则会返回错误,因此我建议使用:

if Child.objects.filter(ChildClass = a).exists():
    d = Child.objects.get(ChildClass = a)
通过这种方式,您可以在不发生崩溃的情况下处理子对象不存在的情况

class SubjectClas(models.Model):
    subject = models.CharField('Предмет', max_length = 50, default='Алгебра')
    clas = models.ForeignKey(Class, null=True, on_delete= models.SET_NULL)
class Child(models.Model):
    ChildName = models.CharField('Имя ученика', max_length = 50)
    ChildClass = models.ForeignKey(Class, null=True, on_delete= models.SET_NULL)
    def __str__(self):
        return self.ChildName
class Mark(models.Model):
    MarkOwner = models.ForeignKey(Child, null=True, on_delete= models.SET_NULL)
    MarkSubjet = models.ForeignKey(SubjectClas, null=True, on_delete= models.SET_NULL)
    Markd = models.CharField('Оценка', max_length = 2)
    MarkDate = models.DateField('Дата')
    def __str__(self):
        return self.Markd
    path('<int:classid>/<int:subjectid>/', views.mlat, name = 'mlat'),
    path('<int:classid>/<int:subjectid>/addmark/', views.addmark, name = 'addmark')
d = Child.objects.get(ChildClass = a)
if Child.objects.filter(ChildClass = a).exists():
    d = Child.objects.get(ChildClass = a)