How to create a composite primary Key in django
To create a composite primary key based on the first three columns (
classdate
, course_code
, and batch_number
), you need to define a unique_together
constraint in the model's Meta class. Here's how you can do it:from django.db import models
class DailyWork(models.Model):
classdate = models.DateField()
course_code = models.ForeignKey(Course, on_delete=models.DO_NOTHING)
batch_number = models.ForeignKey(Batch, on_delete=models.DO_NOTHING)
s1st = models.CharField(max_length=7)
s1endt = models.CharField(max_length=7)
class Meta:
ordering = ['id']
unique_together = (('classdate', 'course_code', 'batch_number'),)
In this code, unique_together
is a tuple of tuples where
each inner tuple represents the fields that should be unique together.
In this case, it ensures that the combination of classdate
, course_code
, and batch_number
is unique,
effectively creating a composite primary key.
Make sure to replace Course
and Batch
with the actual models you are referencing.
Comments
Post a Comment