django項目 crm表結構
阿新 • • 發佈:2018-09-27
字符 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。
2元元組的第一個元素是要存入 database 的數據,第二個元素是 admin 的界面 顯示的數據。
使用了 choices 參數的 field 在其 model 示例裏,可以用 "get_field的名 字_display" 方法 顯示 choices 的顯示字串(就是2元元組的第二個數據)。示 例:
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的詳細名字為"first name":
ForeignKey, ManyToManyField 和 OneToOneField要求第一個參數是模型的類,所以需要使用verbose_name關鍵字參數,如:
在需要的時候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
YEAR_IN_SCHOOL_CHOICES = ( (u‘FR‘, u‘Freshman‘), (u‘SO‘, u‘Sophomore‘), (u‘JR‘, u‘Junior‘), (u‘SR‘, u‘Senior‘), (u‘GR‘, u‘Graduate‘), ) |
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‘ |
first_name = models.CharField("person‘s first name", max_length=30) |
first_name = models.CharField(max_length=30) |
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項目 crm表結構