1. 程式人生 > >django項目 crm表結構

django項目 crm表結構

字符 mysq database course 參數 col 劃線 default 手機

1,pip install django-multiselectfield 一個新的模型字段和表單字段。有了這個,您可以從選擇中進行多項選擇。將數據庫存儲為逗號分隔值的CharField。 2,null 如果設置為True,django存放一個NULL到數據庫字段.默認為False blank 如果設置為 True , 此 field 允許為 blank (空白),默認為 False。 3,help_text help_text 的值可以在 admin form 裏顯示,不過即使不使用 admin ,也可以當 做描述文檔使用。 4,default field 的默認值,可以使用可調用對象(a callable object),如果使用可調用 對象,那麽每次創建此 model 的新對象時調用可調用對象。常見如 datatime 。 5,可以ForeignKey自己 introduce_from = models.ForeignKey(‘self‘, verbose_name="轉介紹自學員", blank=True, null=True) 6,TextField 大的文本max_length=1024指定長度 7,BigIntegerField,長手機號 8,日期: DateTimeField: auto_now_add 開始創建 auto_now 修改創建 9,verbose_name(替代名字) DateTimeField,BooleanField ForeignKey, ManyToManyField 和 OneToOneField,其他的自己首寫 verbose,詳細的意思。verbose_name,就可以理解為詳細的名字吧。 除了ForeignKey, ManyToManyField 和 OneToOneField之外,每個類型的字段都有一個可選的第一位置參數-詳細的名字。如果沒有給出詳細的名稱,Django將自動使用字段的屬性名來代替他。替代過程中會轉換下劃線為空格。 該字段中,名字的詳情為”person’s first name”: --------------------- 本文來自 時間會戳穿你的謊言 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/devil_2009/article/details/41735611?utm_source=copy 10,BooleanField,是否顯示默認寫False 11,聯合唯一 Meta class Meta: unique_together = ("course", "semester", ‘campuses‘) is_staff:是管理員 is_active: 主動地 is_admin:是管理 Field Types 常用參數: null 如果設置為 True , Django 存放一個 NULL 到數據庫字段。默認為 False。 blank 如果設置為 True , 此 field 允許為 blank (空白),默認為 False。 choices 一個2元元組的元組或者列表,如果執行 choices , Django 的 admin 就會使用 選擇框而不是標準的 text 框填寫這個 field。
YEAR_IN_SCHOOL_CHOICES = ( (u‘FR‘, u‘Freshman‘), (u‘SO‘, u‘Sophomore‘), (u‘JR‘, u‘Junior‘), (u‘SR‘, u‘Senior‘), (u‘GR‘, u‘Graduate‘), )
2元元組的第一個元素是要存入 database 的數據,第二個元素是 admin 的界面 顯示的數據。 使用了 choices 參數的 field 在其 model 示例裏,可以用 "get_field的名 字_display" 方法 顯示 choices 的顯示字串(就是2元元組的第二個數據)。示 例:
from django.db import models class Person(models.Model): GENDER_CHOICES = ( (u‘M‘, u‘Male‘), (u‘F‘, u‘Female‘), ) name = models.CharField(max_length=60) gender = models.CharField(max_length=2, choices=GENDER_CHOICES)
>>> p = Person(name="Fred Flinstone", gender="M") >>> p.save() >>> p.gender u‘M‘ >>> p.get_gender_display() u‘Male‘
default field 的默認值,可以使用可調用對象(a callable object),如果使用可調用 對象,那麽每次創建此 model 的新對象時調用可調用對象。常見如 datatime 。 help_text help_text 的值可以在 admin form 裏顯示,不過即使不使用 admin ,也可以當 做描述文檔使用。 primary_key 如果為 True , 這個 field 就是此 model 的 primary key 。 unique 如果為 True, 此 field 在這個 table 裏必須唯一。 verbose_name verbose,詳細的意思。verbose_name,就可以理解為詳細的名字吧。 除了ForeignKey, ManyToManyField 和 OneToOneField之外,每個類型的字段都有一個可選的第一位置參數-詳細的名字。如果沒有給出詳細的名稱,Django將自動使用字段的屬性名來代替他。替代過程中會轉換下劃線為空格。 該字段中,名字的詳情為”person’s first name”:
first_name = models.CharField("person‘s first name", max_length=30)
以下字段中,first_name的詳細名字為"first name":
first_name = models.CharField(max_length=30)
ForeignKey, ManyToManyField 和 OneToOneField要求第一個參數是模型的類,所以需要使用verbose_name關鍵字參數,如:
poll = models.ForeignKey(Poll, verbose_name="the related poll") sites = models.ManyToManyField(Site, verbose_name="list of sites") place = models.OneToOneField(Place, verbose_name="related place")
在需要的時候Django會自動大寫 verbose_name的首字母。 原來verbose_name字段就是為ForeignKey, ManyToManyField 和 OneToOneField這三種關系準備的啊! 常見Filed Types 1、AutoField 如果沒有指明主鍵,就會產生一個自增的主鍵。 2、BigIntegerField 64位的整型數值,從 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807)。 3、BinaryField 存儲原始二進制數據,僅支持字節分配。功能有限。 4、BooleanField 布爾型和NullBooleanField有區別,true/false,本類型不允許出現null。 5、CharField 字符串,一般都在創建時寫入max_length參數。 6、CommaSeparatedIntegerField 逗號分隔的整數,考慮到數據庫的移植性,max_length參數應該必選。 原文解釋:A field of integers separated by commas. As in CharField, the max_length argument is required and the note about database portability mentioned there should be heeded. 7、DateField 時間,對應Python的datetime.date,額外的參數:DateField.auto_now表示是否每次修改時改變時間,DateField.auto_now_add 表示是否創建時表示時間,一般來說數據庫重要的表都要有這樣的字段記錄創建字段時間個最後一次改變的時間。關於時間的話,建議timestamp,當然 python的話還是DateTime吧。 8、DateTimeField 對應Python的datetime.datetime,參照參數(7)。 9、DecimalField 固定精度的十進制數,一般用來存金額相關的數據。對應python的Decimal,額外的參數包括DecimalField.max_digits和DecimalField.decimal_places ,這個還是要參照一下mysql的Decimal類型,http://database.51cto.com/art/201005/201651.htm 例如:price = models.DecimalField(max_digits=8,decimal_places=2) 10、EmailField 字符串,會檢查是否是合法的email地址 11、FileField class FileField([upload_to=None, max_length=100, **options]) 存文件的,參數upload_to在1.7之前的一些老版本中必選的 12、FloatField 浮點數,必填參數:max_digits,數字長度;decimal_places,有效位數。 13、ImageField class ImageField([upload_to=None, height_field=None, width_field=None, max_length=100, **options]) 圖片文件類型,繼承了FileField的所有屬性和方法。參數除upload_to外,還有height_field,width_field等屬性。 14、IntegerField [-2147483648,2147483647 ]的取值範圍對Django所支持的數據庫都是安全的。 15、IPAddressField 點分十進制表示的IP地址,如10.0.0.1 16、GenericIPAddressField ip v4和ip v6地址表示,ipv6遵循RFC 4291section 2.2, 17、NullBooleanField 可以包含空值的布爾類型,相當於設置了null=True的BooleanField。 18、PositiveIntegerField 正整數或0類型,取值範圍為[0 ,2147483647] 19、PositiveSmallIntegerField 正短整數或0類型,類似於PositiveIntegerField,取值範圍依賴於數據庫特性,[0 ,32767]的取值範圍對Django所支持的數據庫都是安全的。 20、SlugField 只能包含字母,數字,下劃線和連字符的字符串,通常被用於URLs表示。可選參數max_length=50,prepopulate_from用於指示在admin表單中的可選值。db_index,默認為True。 21、SmallIntegerField 小整數字段,類似於IntegerField,取值範圍依賴於數據庫特性,[-32768 ,32767]的取值範圍對Django所支持的數據庫都是安全的。 22、TextField 文本類型 23、TimeField 時間,對應Python的datetime.time 24、URLField 存儲URL的字符串,默認長度200;verify_exists(True),檢查URL可用性。 25、FilePathField class FilePathField(path=None[, match=None, recursive=False, max_length=100, **options]) 類似於CharField,但是取值被限制為指定路徑內的文件名,path參數是必選的。 --------------------- 本文來自 時間會戳穿你的謊言 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/devil_2009/article/details/41735611?utm_source=copy

django項目 crm表結構