Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.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
Html ModelMultipleEchoIceField返回“;名称对象“;_Html_Django - Fatal编程技术网

Html ModelMultipleEchoIceField返回“;名称对象“;

Html ModelMultipleEchoIceField返回“;名称对象“;,html,django,Html,Django,我在使用ModelMultipleChiceField时遇到问题。我有一个名为Instrumentation的模型和其他名为InstTemplate的模型: class Instrumentation(models.Model): code = models.CharField(max_length=70, unique=True) marca = models.CharField(max_length=70) modelo = mod

我在使用ModelMultipleChiceField时遇到问题。我有一个名为Instrumentation的模型和其他名为InstTemplate的模型:

class Instrumentation(models.Model):
    code        = models.CharField(max_length=70, unique=True)
    marca       = models.CharField(max_length=70)
    modelo      = models.CharField(max_length=70)
    familia     = models.CharField(max_length=150)
    subfamilia  = models.CharField(max_length=150)
    calibration_date    = models.DateField()
    #test       = models.ForeignKey(Test)
    notes       = models.TextField(max_length=170, blank=True)
    utilization = models.DateField(blank=True)


    def is_free(self):
        return (self.utilization == None)

    def is_calibrated(self):
        return (self.calibration_date > date.today())



class InstTemplate(models.Model):

    name        = models.CharField(max_length=70)
    equipo      = models.ManyToManyField(Instrumentation)
    boards      = models.CharField(max_length=20)
    project     = models.ForeignKey(Project)
    notes       = models.TextField(max_length=170, blank=True)
我想在“equipo”字段中使用复选框实现多选,该字段是一个ManyToManyField。正如我所读到的,这个多重选择是在forms.py中实现的:

class InstTemplateForm(forms.ModelForm):

        BOARD_CHOICES = (('1','ML801/AP815'),('2','ML455/AP455'),('3','ML801/AP801'),('4','ML801/AP836i'), ('5','ML801/AP809'), ('6','CANHEAD'), ('7','ML74/AP74'),('8','ML74/AP75'))
        boards = forms.MultipleChoiceField(BOARD_CHOICES, widget=forms.CheckboxSelectMultiple())

        equipo = forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple(), queryset=Instrumentation.objects.all())

        class Meta:
            model = InstTemplate
但是在HTML中,使用下面的代码,我只获得数据库“id”字段和queryset获得的所有对象的名称“Instrumentation object”。因此,queryset正在工作,但我只得到“Instrumentation object”

{%block page%}
新的检测模板:项目{{project.ref}

如何获取Instrumentation对象的字段???

Instrumentation
模型中定义方法,以供模型对象的可读表示:

class Instrumentation(models.Model):
    code        = models.CharField(max_length=70, unique=True)
    marca       = models.CharField(max_length=70)
    modelo      = models.CharField(max_length=70)
    familia     = models.CharField(max_length=150)
    subfamilia  = models.CharField(max_length=150)
    calibration_date    = models.DateField()
    #test       = models.ForeignKey(Test)
    notes       = models.TextField(max_length=170, blank=True)
    utilization = models.DateField(blank=True)


    def is_free(self):
        return (self.utilization == None)

    def is_calibrated(self):
        return (self.calibration_date > date.today())

    def __unicode__(self):
        return self.code # or self.marca what ever you want

天哪!!非常感谢你,伙计!强制性的Python3注意:在Python3中,定义的方法是
\uuuu str\uuuu
,而不是
\uuuu unicode\uuuu
class Instrumentation(models.Model):
    code        = models.CharField(max_length=70, unique=True)
    marca       = models.CharField(max_length=70)
    modelo      = models.CharField(max_length=70)
    familia     = models.CharField(max_length=150)
    subfamilia  = models.CharField(max_length=150)
    calibration_date    = models.DateField()
    #test       = models.ForeignKey(Test)
    notes       = models.TextField(max_length=170, blank=True)
    utilization = models.DateField(blank=True)


    def is_free(self):
        return (self.utilization == None)

    def is_calibrated(self):
        return (self.calibration_date > date.today())

    def __unicode__(self):
        return self.code # or self.marca what ever you want