Dob*_*Dog 1 python django django-forms
我在models.py中得到了这个模型:
class Boats(models.Model):
id = models.BigIntegerField(primary_key=True)
created = models.DateTimeField(default=timezone.now, blank=True)
name = models.CharField(max_length=30)
class Meta:
managed = True
db_table = 'boats'
ordering = ['name']
class Clients(models.Model):
id = models.BigIntegerField(primary_key=True)
created = models.DateTimeField(default=timezone.now, blank=True)
code = models.CharField(max_length=100)
class Meta:
managed = True
db_table = 'clients'
ordering = ['name']
Run Code Online (Sandbox Code Playgroud)
==========================
在views.py中; 我的功能是这样的:
f = NewBoatForm(request.POST)
if f.is_valid():
nBoat = f.save()
print 'ID:'+str(nBoat.id)
cBoat = ClientsBoats()
cBoat.client = client
cBoat.boat = nBoat
cBoat.save()
Run Code Online (Sandbox Code Playgroud)
但django失败了这个错误:
ValueError: save() prohibited to prevent data loss due to unsaved related object 'boat'.
Run Code Online (Sandbox Code Playgroud)
我打印ID,但它是空的.有人能帮我吗.
您已重写主键字段id,而不是AutoField.不要那样做.
通常你根本不会定义它,让Django自动完成它.如果你真的确定标准整数字段不够大,可以使用BigAutoField.但我怀疑你的数据库中有超过2147483647条船只.
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |