[Answered ]-How to use django ORM for dynamic binding relation?

2👍

Following @djsutho thought, define a many-to-many relationship:

class user(models.Model):
    name = models.CharField(max_length=30)
    courses = models.ManyToManyField(courses)

class courses(models.Model):
    course = models.CharField(max_length=100)

Then, for example, querying courses per user would be as easy as:

courses.objects.filter(user__name='Bob')

Also note that, by Django model naming convention, model class names should start with a upper case letter: user should be User, coursesCourses.

Also note that the model name should not be in a plural form – better name courses as Course. Also better rename course field to name.

So, finally, here’s the picture:

class User(models.Model):
    name = models.CharField(max_length=30)
    courses = models.ManyToManyField(Course)

class Course(models.Model):
    name = models.CharField(max_length=100)

Hope that helps.

👤alecxe

Leave a comment