Django 데이터베이스 디자인에서 필드가 비어 있는 방식

5347 단어
오늘 데이터베이스 디자인을 할 때 다음과 같은 사용자 테이블을 설계했습니다. 그 중에서 이메일과 전화 필드를 비어 있도록 설정했습니다.
 1 class User(models.Model):
 2     username = models.CharField(' ',max_length=50)
 3     password = models.CharField(' ',max_length=255)
 4     email = models.EmailField(' ',null=True)
 5     phone = models.CharField(' ',max_length=11,null=True)
 6 
 7     group = models.ManyToManyField(UserGroup,verbose_name=' ')
 8 
 9     create_date = models.DateTimeField(' ',auto_now_add=True)
10     update_date = models.DateTimeField(' ',auto_now=True)

그러나 Django 백그라운드 관리를 사용하여 데이터를 추가할 때 빈 필드를 입력할 수 없고 내용을 입력해야 한다는 것을 발견했습니다.
 
자료를 찾아보니 Django 디자인 데이터베이스 테이블을 사용할 때
null=True를 설정하면 데이터베이스에서 이 필드가 비어 있을 수 있다는 것만 표시하지만, 백그라운드 관리를 사용하여 데이터를 추가할 때 값을 입력해야 합니다. Django가 자동으로 데이터 검증을 했기 때문에 필드가 비어 있을 수 없습니다.
Django에서도 필드를 빈 값으로 저장하려면 다른 매개변수를 추가해야 합니다: blank=True
요약하면 다음과 같습니다.
null=True
   
blank=True
  django  Admin  

 
따라서 Django 백그라운드 관리에 빈 값을 추가하려면 다음 설계 테이블을 참조하십시오.
 1 class User(models.Model):
 2     username = models.CharField(' ',max_length=50)
 3     password = models.CharField(' ',max_length=255)
 4     email = models.EmailField(' ',null=True,blank=True)
 5     phone = models.CharField(' ',max_length=11,null=True,blank=True)
 6 
 7     group = models.ManyToManyField(UserGroup,verbose_name=' ')
 8 
 9     create_date = models.DateTimeField(' ',auto_now_add=True)
10     update_date = models.DateTimeField(' ',auto_now=True)

 
다음으로 전송:https://www.cnblogs.com/MacoLee/p/5610989.html

좋은 웹페이지 즐겨찾기