M2M ordering

GisangLee·2022년 4월 29일
0

django

목록 보기
11/35

Django의 Many to Many 관계를 through로 확장시킨 후 정렬 기준을 many to many의 특정 필드 값으로 하고 싶을 경우

  • models.py
class Student(models.Model):

    images = models.ManyToManyField("StudentImage", related_name="students", blank=True, through="StudentImages")

    class Meta:
        db_table = "student"

class StudentImage(models.Model):
	# 데이터 필드 정의
    ...
    ..
 
    class Meta:
        db_table = "student_image"
        
        # 정렬 기준을 m2m 테이블의 Related_name으로
        # m2m 테이블의 정렬 기준이 될 필드를 작성
        ordering = ('student_images_ord_no__ord_no',)


class StudentImages(models.Model):
	# 데이터 필드 정의
    ...
    ..
    postimage = models.ForeignKey("StudentImage", on_delete=models.CASCADE, related_name="student_images_ord_no")
    ord_no = models.IntegerField(blank=True, null=True)

    class Meta:
        db_table = "student_images"
        ordering = ("ord_no",)
profile
포폴 및 이력서 : https://gisanglee.github.io/web-porfolio/

0개의 댓글