I would like to save a modified model, but I get Programming error – that a field is specified twice.
class ProductInfo(models.Model):
product_info_id = models.AutoField(primary_key=True)
language_id = models.IntegerField()
product_id = models.IntegerField()
description = models.TextField(blank=True)
status = models.IntegerField()
model = models.CharField(max_length=255, blank=True)
label = models.ForeignKey(Category_info, verbose_name = 'Category_info', db_column = 'language_id', to_field = 'node_id', null = True)
I get this error because the foreign key uses as db_column language_id. If I will delete it, my object will be saved properly.
I dont quite understand whats going on and since I have defined almost all of my models this way, I fear its totally wrong or maybe I just missunderstood it…
Any ideas?
Regards
I have no idea why you have defined your models like this, but I’ll assume you’re working with a legacy database schema or you’re new to django.
The above code tries to generate two columns named
language_id. Django wont let you do that, because each field needs to have control over its own database column. I’m not sure what you’ve trying to achieve by having two fields point to the same database column.If you’re new to django and this is a fresh database, then it looks like you’re doing things wrong. Maybe the following model definition is what you’re looking for: