python - tutorial - Forma de modelo de Django Campo de muchos a muchos no muestra el valor
python framework (1)
Tienes que agregar un método para representar tu objeto con una cadena:
Si está usando python 2, use __unicode__
y en python 3 use: __str__
.
Ej. (Con python 2):
class AccountFilters(models.Model):
name = models.CharField(max_length=255)
# other attributes
def __unicode__(self):
return self.name
class AccountParameters(models.Model):
acctFilterName = models.ForeignKey(AccountFilters)
excludeClassification = models.ManyToManyField(ClassificationNames)
tradingCash = models.FloatField()
def __unicode__(self):
return self.acctFilterName.name
Ej. (Con python 3):
class AccountFilters(models.Model):
name = models.CharField(max_length=255)
# other attributes
def __str__(self):
return self.name
class AccountParameters(models.Model):
acctFilterName = models.ForeignKey(AccountFilters)
excludeClassification = models.ManyToManyField(ClassificationNames)
tradingCash = models.FloatField()
def __str__(self):
return self.acctFilterName.name
Tengo un campo de varios a muchos y un campo de clave externa en un formulario modelo. Parece que está haciendo la consulta correcta, pero el resultado son Objetos y no los valores del objeto.
¿Debo sobrescribir el queryset utilizando un método VALUES_LIST?
forms.py
class Meta:
model = AccountParameters
fields =[''acctFilterName'', ''excludeClassification'', ''tradingCash'',]
#exclude = [''acctFilterName'']
labels = {
''acctFilterName'': _(''Account Filters:''),
''excludeClassification'': _(''Exclude Classifications: ''),
''tradingCash'':_(''Remove accounts whose trading cash < % of AUM: '')
}
models.py
class AccountParameters(models.Model):
acctFilterName = models.ForeignKey(AccountFilters)
excludeClassification = models.ManyToManyField(ClassificationNames)
tradingCash = models.FloatField()