问题是我将User模型扩展为Profile模型,Profile模型有一个ManyToMany字段,我想创建一个用户注册表,但我不知道该怎么做,我给出了ManyToMany关系错误
这些是我的模特。
class Categoria(models.Model):#Son las categorias a la que pertenecen los negocios(aplican pa todos)
name = models.CharField(max_length=50)
slug = models.SlugField(editable=False)
imagen = fields.ImageField(upload_to = 'categorias',null=True,blank=True,dependencies=[
FileDependency(processor=ImageProcessor(
format='JPEG', scale={'max_width': 200, 'max_height': 150}))
])
def save(self, *args, **kwargs):
if not self.id:
self.slug = slugify(self.name)
super(Categoria, self).save(*args, **kwargs)
def __unicode__(self):
return self.name
class Perfil(models.Model):#Este es el perfil del usuario(solo existe uno por cada usuario)
user = models.OneToOneField(User, related_name='profile')
nombre_negocio = models.CharField(max_length=50, unique=True)
encargado = models.CharField(max_length=50,null=True,blank=True)
imagen = models.ImageField(upload_to = 'perfiles',null=True,blank=True)
direccion = models.CharField(max_length=100)
telefono = models.DecimalField(max_digits=15, decimal_places=0,null=True,blank=True)
email = models.EmailField()
category = models.ManyToManyField(Categoria)
inicio = models.DateTimeField(null=True,blank=True)
final = models.DateTimeField(null=True,blank=True)
lat = models.CharField(max_length=50,null=True,blank=True)
lng = models.CharField(max_length=50,null=True,blank=True)
def save(self, *args, **kwargs):
if not self.id:
self.slug = slugify(self.nombre_negocio)
super(Perfil, self).save(*args, **kwargs)
def __unicode__(self):
return self.nombre_negocio
这是我正在制作的表格。
class UserForm(UserCreationForm):
negocio = forms.CharField(max_length=30)
encargado = forms.CharField(max_length=30)
imagen = forms.ImageField()
direccion = forms.CharField(max_length=30)
telefono = forms.DecimalField(max_digits=15, decimal_places=0)
email = forms.EmailField()
#categoria = forms.ManyToManyField(categoria)
lat = forms.CharField(max_length=30)
lng = forms.CharField(max_length=30)
我不知道我做错了什么,因为“分类”字段给了我错误。
答案 0 :(得分:2)
没有forms.ManyToManyField
这样的东西,也许尝试使用forms.ModelMultipleChoiceField
。
所以而不是
categoria = forms.ManyToManyField(categoria)
试
categoria = forms.ModelMultipleChoiceField(queryset=Categoria.objects.all())