django_models.py
delete CASCADE
- Address 모델은 User모델을 참조하며 User모델이 지워지면 그 Address모델도 지워진다.
class User(models.Model):
	email    = models.CharField(max_length=45)
    password = models.ChatField(max_length=200)
    
class Address(models.Model):
	user = models.Foreignkey(User, on_delete=models.CASCADE)	django str 메서드
class Menu(models.Model):
	name = models.CharField(max_length=45)
    def __str__(self):
    	return self.namestr() 메서드는 메뉴 클래스의 객체의 문자열 표현을 리턴한다.
default 값은 모델명 object 이다.
디폴트인 경우 객체를 알아보기 어려우므로 정의하는것이 좋다
many-to-many relationships
- 중간 필드 설정시 자동으로 설정 진행
- 직접 설정 원할시 through을 활용하여 중간 클래스 설정
from django.db import models
class Person(models.Model):
	name = models.CharField(max_length=128)
	def __str__(self):
    	return self.name
class Group(models.Model):
        name = models.CharField(max_length=128)
        members = models.ManyToManyField(Person, through='Membership')
class Membership(models.Model):
        person = models.ForeignKey(Person, on_delete=modles.CASCADE)
        group = mddels.ForeignKey(Group, on_delete=models.CASCADE)
    Meta options
모델 클래스 내부에 Meta라는 이름의 클래스를 선언하여 모델에 메타 데이터를 추가
class User(models.Model):
	number = models.IntegerField()
    
    class Meta:
    	db_table = 'users'
 # 데이터베이스 테이블의 이름을 users로 지정related_name
역참조 경우 기존 속성으로 객체 호출 불가
호출 하기 위해
1. [classname]_set 속성 사용
2. related_name 사용
class User(models.Model):
    name = models.CharField(max_length=45)
    job  = models.ForeignKey('Occupation', on_delete = models.CASCADE)
class Occupation(models.Model):
	name = models.CharField(max_length=45)
    Author And Source
이 문제에 관하여(django_models.py), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@donq/djangomodels.py저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)