Django保存方法被覆盖并输入对象' cursos'没有属性' object'

时间:2015-03-31 17:54:08

标签: python django django-models attributeerror

我是django的新手,我正在尝试创建一个代码,以便稍后在另一个表中生成另一个代码。

我已覆盖方法保存,但我返回错误

Exception Value:    
type object 'cursos' has no attribute 'object'

根据其他回复,问题是我的codigo_curso尚未被填充,但在字段slug的示例中,在记录到数据库中后不需要填充字段

import re
from django.db import models
from django.utils.text import slugify

# Create your models here.
class cursos(models.Model):
    nombre = models.CharField(max_length=200, null=False, blank=False)
    descripcion = models.TextField(null=False, blank=True)
    creado = models.DateTimeField(auto_now_add=True, editable=False)
    modificado = models.DateTimeField(auto_now=True, editable=False)
    slug = models.SlugField(editable=False)
    codigo_curso = models.CharField(max_length=4, null=False, blank=True, editable=False)

    def __unicode__(self):
       return u'%s' % (self.nombre,)

    def crear_codigo(self):
       curso_nombre = str(cursos.object.filter(id=self.id).values('nombre'))
       codigo_generado = "".join(item[0].upper() for item in re.findall("\w+", curso_nombre)[:4])
    return self.codigo_generado

    def save(self, *args, **kwargs):
        # Generacion automatica de Slug.
        if not self.slug:
            self.slug = slugify(self.nombre)[:50]
        return super(cursos, self).save(*args, **kwargs)

        # Generacion automatica de curso
        if not self.codigo_curso:
           self.codigo_curso = self.crear_codigo()
        return super(cursos, self).save(*args, **kwargs)

我尝试更改功能的顺序,但仍然发现错误,这可能不是问题,谢谢

1 个答案:

答案 0 :(得分:1)

模型管理器是通过objects调用的,而不是object

curso_nombre = str(cursos.objects.filter(id=self.id).values('nombre'))
                          # HERE^