我知道一个模型可以正确记录数据库中的值,但是在管理面板中不能正确显示它们。
我知道它正确保存了此字段,因为:
1.-我可以在Shell中查询模型并正确查看值。
2.-我正在使用该模型的字段来创建另一个模型,并且该另一个模型可以正确保存并正确显示在管理面板中的字段。
怎么了?
外壳:
>>> SizeQuantity.objects.get(pk=9)
<SizeQuantity: variante_125 por cantidad_200>
>>> SizeQuantity.objects.get(pk=9).size
'variante_125'
>>> SizeQuantity.objects.get(pk=9).quantity
'cantidad_200'
我在AdminPanel中看到的内容:
这是我的另一个使用SizeQuantiy中值的模型:
我期望为我的SizeQuantity模型渲染“大小”和“数量”字段:
from .models import Cart, SizeQuantity
# Register your models here.
admin.site.register(Cart)
admin.site.register(SizeQuantity)
models.py :
class SizeQuantity(models.Model):
cart = models.ForeignKey(Cart, on_delete=models.CASCADE)
product = models.ForeignKey(Product, on_delete=models.CASCADE)
size = models.CharField(max_length=20, choices=TAMANIOS)
quantity = models.CharField(max_length=20, choices=CANTIDADES)
image = models.ImageField(upload_to='images', blank=True, null=True)
comment = models.CharField(max_length=200, blank=True, null=True, default='')
uploaded_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return str(self.id) + " - " + str(self.size) + " por " + str(self.quantity)
@property
def image_filename(self):
return self.image.url.split('/')[-1]
答案 0 :(得分:1)
Django可能无法正确呈现您的字段,因为在字段选择(TAMANIOS
CANTIDADES
)中未包含提及的值
答案 1 :(得分:1)
您上方的字段(“ variante_125”,“ cantidad_200”)不在您的有效“选择”中。
您可以为大小和数量字段添加任何字符,尽管您不必在CHOICES中写入值。但是您不能使用诸如get_FOO_display
之类的选择。在此处检查文档很有帮助(https://docs.djangoproject.com/en/2.1/ref/models/fields/#choices)。
您应该检查具有这些值的TAMANIOS,CANTIDADES选项。