我是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)
我尝试更改功能的顺序,但仍然发现错误,这可能不是问题,谢谢
答案 0 :(得分:1)
模型管理器是通过objects
调用的,而不是object
:
curso_nombre = str(cursos.objects.filter(id=self.id).values('nombre'))
# HERE^