DjangoFen Biao Shi Li
DjangoZhong Heng Xiang Fen Biao De Yi Ge Jian Dan Shi Xian ,Zhi Chi Ji Yu Gu Ding Fen Pian Shu Liang De Fen Biao He Ji Yu Nian , Yue , Ri De Ri Qi Fen Biao
Yuan You
Wu Yi Zhong Kan Liao Zhi Hu De Yi Ge Wen Da [(DjangoFen Biao Ru He Shi Xian )] ,Zhi Qian Ye Yu Dao Guo Heng Xiang Fen Biao De Xu Qiu ,Dang Shi Cai Yong De Shi Shu Ju Ku De Biao Fen Qu Lai Shi Xian De ,Zhe Chong Fang Shi Dui Ye Wu Dai Ma Tou Ming ,Wu Xu Ren He Gai Dong . Kan Dao You Ren Ti Chu Liao Dai Ma Shi Xian Zhe Ge Wen Ti ,Zong Jie Liao Zhi You Men De Hui Da He Zuo Liao Xie Jian Dan Bao Zhuang ,Xie Liao Zhe Ge demo,Zeng Jia An Ri Qi Fen Biao He Zi Dong Shu Ju Ku migrationQian Yi Gong Neng ,He Fen Biao De Fen Ye Gong Neng ,Huan Ying Da Shen Men Cha Lou Bu Que .
Shi Xian
Ding Yi Liao Yi Ge ShardingMixin(Xiang Jian apps.base.model_sharding.py)Hun Ru Lei ,Ji Cheng Liao Gai Hun Ru Lei De Chou Xiang Mo Xing Lei Ke Diao Yong Lei Fang Fa shard,Gen Ju Chuan Ru De Zhi Lai Huo Qu Dui Ying Fen Biao De Mo Xing Lei Shi Li Lai Jin Xing ORMCao Zuo ,Ru :models.User.shard(0).objects.create(name='iTraceur', age=18),models.Log.shard(202001).objects.create(content='test log').
djangoQi Dong Qian ,Xu Shou Dong Zhi Xing Yi Ci migrationChuang Jian Chu Shi Shu Ku Biao ,djangoQi Dong Hou ,Dang Fen Biao Mo Xing Bu Cun Zai Shi Hui Zi Dong Chuang Jian He Zi Dong Zuo Shu Ju Ku migrationQian Yi ,Wu Xu Shou Dong Zhi Xing Qian Yi He Chuang Jian Shu Ju Ku Biao .
Tong Yong settings
SHARDING_COUNT_DEFAULTGu Ding Shu Liang Fen Biao De Tong Yong Shu Liang ,Mo Ren Wei10SHARDING_DATE_START_DEFAULTRi Qi Fen Biao De Tong Yong Kai Shi Ri Qi ,Mo Ren Wei2020-01-01SHARDING_DATE_FORMAT_DEFAULTRi Qi Fen Biao De Tong Yong Biao Ming Ri Qi Hou Zhui Ge Shi ,Ru :%Y,%Y%m,%Y%m%d,Mo Ren Wei%Y%mAn Yue Fen Biao
Ji Yu Gu Ding Fen Pian Shu Liang De Fen Biao (Gua Yong Yu Yong Hu Biao Zhe Chong Shu Ju Liang Da Qie Ke Gu Liang De Chang Jing )
- Ding Yi Mo Xing Shi Xu She Zhi Lei Shu Xing
SHARDING_TYPE='precise' - Ru Xu Dan Du Dui Mou Ge Mo Xing She Zhi Fen Biao Shu Liang ,Ke Zai Ding Yi Mo Xing Shi She Zhi
SHARDING_COUNTLei Shu Xing Wei Dui Ying De Zhi .
name = models.CharField(max_length=20)
age = models.IntegerField(default=0)
active = models.BooleanField(default=True)
# Constant-based sharding
SHARDING_TYPE = 'precise'
SHARDING_COUNT = 10
class Meta:
abstract = True
db_table = "user_"
# Fen Biao Mo Xing Lei Chu Shi Hua
def init_user_models():
admin_opts = {
'list_display': ('id', 'name', 'age', 'active')
}
model_sharding.register_admin_opts(User._meta.label_lower, admin_opts)
for sharding in User.get_sharding_list():
model_sharding.create_model(User, sharding)
init_user_models()
Ji Yu Ri Qi De Fen Biao (Gua Yong Yu Ri Zhi Ji Lu Zhe Chong Sui Shi Jian Zeng Chang De Chang Jing )
- Ding Yi Mo Xing Shi Xu She Zhi Lei Shu Xing
SHARDING_TYPE='date' - Ru Xu Dan Du Dui Mou Ge Mo Xing She Zhi Fen Biao Kai Shi Ri Qi ,Ke Zai Ding Yi Mo Xing Shi She Zhi
SHARDING_DATE_STARTLei Shu Xing Wei Dui Ying De Ri Qi - Ru Xu Dan Du Dui Mou Ge Mo Xing She Zhi Fen Biao De Biao Ming Hou Zhui Ge Shi ,Ke Zai Ding Yi Mo Xing Shi She Zhi
SHARDING_DATE_FORMATLei Shu Xing Lai Kong Zhi An Nian , An Yue , An Ri Jin Xing Fen Biao ,Fen Bie Wei :%Y,%Y%m,%Y%m%d.
level = models.PositiveSmallIntegerField(default=0)
content = models.TextField()
time = models.DateTimeField(auto_now_add=True)
# Date-based sharding
SHARDING_TYPE = 'date'
SHARDING_DATE_START = '2020-03-01'
SHARDING_DATE_FORMAT = '%Y%m'
class Meta:
abstract = True
db_table = "log_"
# Fen Biao Mo Xing Lei Chu Shi Hua
def init_log_models():
admin_opts = {
'list_display': ('id', 'time', 'level', 'content')
}
model_sharding.register_admin_opts(Log._meta.label_lower, admin_opts)
for sharding in Log.get_sharding_list():
model_sharding.create_model(Log, sharding)
init_log_models()