在我在命令行上设置值后调用FloatField
后,我的Django对象save()
正在向下舍入。
示例:
object = Model.objects.get(id=1)
object.floatfield = 23.99
object.floatfield
23.99
object.save()
object = Model.objects.get(id=1)
object.floatfield
23.0
我错过了什么?造成这种情况的原因是什么?
编辑:模型是:
class AbstractModel(models.Model):
class Meta:
abstract = True
float = models.FloatField(default=-1)
class Model(AbstractModel):
pass
答案 0 :(得分:1)
听起来像Django模型和数据库表有点不合适。您可以通过查看数据库中Model.float
列的定义来检查这一点。如果没有看到您的迁移,我无法确切地知道发生了什么。
您在评论中说,您已回滚迁移,删除了迁移文件,然后再次尝试迁移。我建议您再次拍摄,但这次DROP
数据库中的表makemigration
。<p:outputLabel for="startDate" value="#{msg.StartDate}" />
<p:calendar id="startDate" value="#{employeeBean.employee.startDate}" required="true" pattern="dd-MM-yyyy" language="#{msg.CalendarLanguage}" mask="true"
requiredMessage="#{msg.required}">
<p:ajax event="dateSelect" update="endDate" />
</p:calendar>
<p:message for="startDate" />
<p:outputLabel for="endDate" value="#{msg.EndDate}" />
<p:calendar id="endDate" mindate="#{employeeBean.employee.startDate}" value="#{employeeBean.employee.endDate}" required="false" pattern="dd-MM-yyyy"
language="#{msg.CalendarLanguage}" mask="true">
</p:calendar>
<p:message for="endDate" />
。让Django重新创建表,可能更容易,然后试图找出究竟发生了什么。