我正在尝试更新旧版Sql Server数据库上的对象字段,但它无法正常工作。
在我调试的过程中,我意识到我的问题只是在我尝试保存到 varchar 数据类型字段时。保存到 char ,数字或十进制数据类型字段没有问题。
以下是我的代码:
product = Product.objects.get(id=907169)
product.brand = "test_value"
product.save(update_fields=['brand'])
在这种情况下,变量品牌在数据库中具有 varchar 数据类型。所以,奇怪的是,对象没有保存,但我仍然没有收到任何错误消息。
任何想法会发生什么?
这是产品型号。我使用python manage.py inspectdb自动生成了此模型。
class Product(models.Model):
id = models.DecimalField(db_column='Codigo', primary_key=True, max_digits=7, decimal_places=0)
info = models.CharField(db_column='Descricao', max_length=200)
group_code = models.DecimalField(db_column='CodGrupo', max_digits=8, decimal_places=0)
brand = models.CharField(db_column='CodMarca', max_length=10)
# ... Other fields ... #
class Meta:
#managed = False
db_table = 'Produtos'
我正在使用:Python 3.6.0,Django 2.0.2,pyodbc 4.0.22,django-pyodbc-azure