I already have a model,
class ModelA( models.Model ):
name = models.CharField ( max_length = 255, blank = False )
and i have many entries in it. Now i want to add a field in it, which is
user = models.OneToOneField( User )
How do i add this field into ModelA
? Is there any solution other than deleting all previous entries?
I would use this pattern:
user = models.OneToOneField(User, null=True)
to your Model (don't remove the "name" field)manage.py schemamigration --auto
. And apply the migration. Now there are two columns in your table.name=models.CharField
from the model.py file. And remove the null=True from the user field.manage.py schemamigration --auto
. And apply the migrationBTW, if you use OneToOneField()
without null=True
, you can set primary_key=True
on this field, since it must be unique. But I don't know if south can handle this migration.