1

I have created below model with foreign key but migration file does not have any foreign key and hence in sql server database also foreign key relationship is not getting created

models.py

class RetailerMaster(models.Model):
    id = models.PositiveIntegerField(unique=True)
    name = models.CharField(max_length=1000)
    address = models.CharField(max_length=4000)
    city = models.CharField(max_length=100)
    state = models.CharField(max_length=100)
    pincode = models.CharField(max_length=100)
    contact_name = models.CharField(max_length=500)
    email = models.EmailField()
    phone = models.CharField(max_length=15)
    erp = models.CharField(max_length=1000)
    remark = models.CharField(max_length=4000)

    def __str__(self):
        return self.id


class FileUpload(models.Model):
    retailer_id = models.ForeignKey(RetailerMaster, on_delete=models.CASCADE),
    file = models.FileField(upload_to='files')
    file_upload_datetime = models.DateTimeField()
    file_name = models.CharField(max_length=1000)

migrations file

migrations.CreateModel(
    name='FileUpload',
    fields=[
        ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
        ('file', models.FileField(upload_to='files')),
        ('file_upload_datetime', models.DateTimeField()),
        ('file_name', models.CharField(max_length=1000)),
    ],
)

What am i doing wrong that foreign key is not getting created. Basically, what i am implementing is, for one RetailerMaster record multiple files can be uploaded.

Ronak
  • 187
  • 2
  • 17
  • 3
    You have a *trailing comma* at the end of the `ForeignKey`. You should remove that, since now it is wrapping the `ForeignKey` in a singleton tuple. – Willem Van Onsem May 05 '21 at 19:17
  • @WillemVanOnsem Yes, that was the issue. It worked perfectly fine after removing trailing comma. Thanks! – Ronak May 06 '21 at 05:26

0 Answers0