我有以下models.py
from django.db import models
import datetime
class Build(models.Model):
build_name = models.CharField(max_length=60)
description = models.CharField(max_length=140)
parts = models.ManyToManyField('Part')
def __unicode__(self):
return self.build_name
class Part(models.Model):
name = models.CharField(max_length=70)
cost_usd = models.DecimalField(5, 2)
type_of = models.CharField(max_length=5)
supported_builds = models.ManyToManyField(Build)
def __unicode__(self):
return self.name
class OrderBuild(models.Model):
parent = models.ForeignKey(Build)
custom_parts = models.ManyToManyField(Part)
class PriceCache(models.Model):
price = models.DecimalField(4, 2)
time_fetched = models.DateTimeField(default=datetime.datetime.now())
我已经尝试逐一评论每一行并重新运行,并且没有一行似乎会导致此错误。它成功同步的唯一一次是我在模型类中评论了所有内容。
有谁知道造成这个错误的原因,以及我如何修复它?
答案 0 :(得分:4)
检查线
cost_usd = models.DecimalField(5, 2)
# ...
price = models.DecimalField(4, 2)
将其修改为
cost_usd = models.DecimalField(max_digits=5, decimal_places=2)
# ...
price = models.DecimalField(max_digits=4, decimal_places=2)
模型字段的签名就像
field(verbose_name=None, name=None, ...)
DecimalField(verbose_name=None, name=None, max_digits=None, decimal_places=None, **kwargs)
因此,您的代码将verbose_name
和name
字段错误地设置为整数。