models.py 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622
  1. # coding=utf-8
  2. '''
  3. '''
  4. from django.db import models
  5. class UserInfo(models.Model):
  6. """用户表
  7. """
  8. username = models.CharField(u"用户名", max_length=255, blank=True,null=True)
  9. usercode = models.CharField(u"用户代码", max_length=255, blank=True,null=True)
  10. password = models.CharField(u"密码", max_length=255, blank=True,null=True)
  11. realname = models.CharField(u"真实名称", max_length=255, blank=True, null=True)
  12. openid = models.CharField(u"微信openid", max_length=64, blank=True,null=True)
  13. avatar = models.TextField(u"手机号", max_length=255, blank=True,null=True)
  14. nickname = models.CharField(u"手机号", max_length=64, blank=True,null=True)
  15. is_bind = models.SmallIntegerField(u"是否绑定",default=0)
  16. utype = models.SmallIntegerField(u"是否激活可用",default=0)
  17. zq = models.CharField(u"周期", max_length=255, blank=True, null=True)
  18. cw = models.CharField(u"仓位", max_length=255, blank=True, null=True)
  19. df = models.CharField(u"打法", max_length=255, blank=True, null=True)
  20. pz = models.CharField(u"品种", max_length=255, blank=True, null=True)
  21. account_img = models.TextField(u"账号截图", max_length=255, blank=True, null=True)
  22. join_time = models.CharField(u"入市时间", max_length=255, blank=True, null=True)
  23. badge = models.CharField(u"选手标识", max_length=255,blank=True,null=True,default=u"选手")
  24. phone = models.CharField(u"手机号", max_length=64, blank=True,null=True)
  25. role = models.SmallIntegerField(u"角色0/游客,1/普通选手,2/免费参赛选手",default=0)
  26. player_type = models.SmallIntegerField(u"选手类型,0/游客,1/普通选手,2/种子选手,3/开户选手",default=0)
  27. comment_status = models.SmallIntegerField(u"1/正常,0/拉黑",default=1)
  28. unionid = models.CharField(u"微信unionid", max_length=64, blank=True,null=True)
  29. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  30. class Meta:
  31. db_table = "users"
  32. verbose_name = u"用户信息"
  33. app_label = "common"
  34. def __str__(self):
  35. return u"{}){}".format(self.id, self.username)
  36. def is_authenticated(self):
  37. return True
  38. def is_anonymous(self):
  39. return False
  40. class Player(models.Model):
  41. """参数选手
  42. """
  43. user_id = models.IntegerField(u"用户id", blank=True,null=True)
  44. username = models.CharField(u"用户名", max_length=255, blank=True,null=True)
  45. usercode = models.CharField(u"用户代码", max_length=255, blank=True,null=True)
  46. match_id = models.IntegerField(u"比赛id", blank=True,null=True)
  47. match_name = models.CharField(u"比赛名称", max_length=255,blank=True,null=True)
  48. match_group = models.CharField(u"比赛分组", max_length=255,blank=True,null=True)
  49. match_group_name = models.CharField(u"比赛分组名称", max_length=255,blank=True,null=True)
  50. fund = models.FloatField(u"资金",default=0.0)
  51. match_status = models.SmallIntegerField(u"比赛状态,退赛/暂停/比赛中-1/0/1",default=0)
  52. badge = models.CharField(u"选手标识", max_length=255,blank=True,null=True,default=u"选手")
  53. role = models.SmallIntegerField(u"角色",default=0)
  54. player_type = models.SmallIntegerField(u"选手类型,0/游客,1/普通选手,2/种子选手,3/开户选手",default=1)
  55. phone = models.CharField(u"手机号", max_length=50,blank=True,null=True)
  56. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  57. class Meta:
  58. db_table = "player"
  59. verbose_name = u"参数选手"
  60. app_label = "common"
  61. def __str__(self):
  62. return u"{}){}".format(self.id, self.username)
  63. class PlayerRecord(models.Model):
  64. """参数选手数据
  65. """
  66. user_id = models.IntegerField(u"用户id", blank=True,null=True)
  67. player_id = models.IntegerField(u"用户id", blank=True,null=True)
  68. username = models.CharField(u"用户名", max_length=255, blank=True,null=True)
  69. usercode = models.CharField(u"用户代码", max_length=255, blank=True,null=True)
  70. match_id = models.IntegerField(u"比赛id", blank=True,null=True)
  71. stock_date = models.CharField(u"持股日期", max_length=255,blank=True,null=True)
  72. match_name = models.CharField(u"比赛名称", max_length=255,blank=True,null=True)
  73. match_group = models.CharField(u"比赛分组", max_length=255,blank=True,null=True)
  74. init_fund = models.FloatField(u"初始资金",blank=True,null=True)
  75. yesterday_fund = models.FloatField(u"昨日资金",blank=True,null=True)
  76. today_fund = models.FloatField(u"今日资金",blank=True,null=True)
  77. yesterday_stock = models.TextField(u"昨日持股",blank=True,null=True)
  78. today_stock = models.TextField(u"今日持股",blank=True,null=True)
  79. yesterday_stock_img = models.TextField(u"昨日持股截图",blank=True,null=True)
  80. today_stock_img = models.TextField(u"今日持股截图",blank=True,null=True)
  81. today_income = models.FloatField(u"今日收益",blank=True,null=True)
  82. total_income = models.FloatField(u"总收益",blank=True,null=True)
  83. rank = models.IntegerField(u"排名", blank=True,null=True)
  84. group_rank = models.IntegerField(u"分组排名", blank=True,null=True)
  85. is_markt = models.SmallIntegerField(u"是否开超市",default=0)
  86. yesterday_is_markt = models.SmallIntegerField(u"昨日是否开超市",default=0)
  87. auto_complete = models.SmallIntegerField(u"请假次数",default=0)
  88. yesterday_auto_complete = models.SmallIntegerField(u"请假次数",default=0)
  89. wanzhu_comment = models.TextField(u"点评",blank=True,null=True)
  90. experience = models.TextField(u"操盘总结/今日反思",blank=True,null=True)
  91. zq = models.CharField(u"周期", max_length=255, blank=True, null=True)
  92. cw = models.CharField(u"仓位", max_length=255, blank=True, null=True)
  93. df = models.CharField(u"打法", max_length=255, blank=True, null=True)
  94. pz = models.CharField(u"品种", max_length=255, blank=True, null=True)
  95. badge = models.CharField(u"选手标识", max_length=255,blank=True,null=True,default=u"选手")
  96. zans = models.IntegerField(u"点赞数", blank=True,null=True,default=0)
  97. comments_count = models.IntegerField(u"点赞数", blank=True,null=True,default=0)
  98. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  99. #class Meta:
  100. # db_table = "player_record"
  101. # verbose_name = u"参数选手"
  102. # app_label = "common"
  103. #def __str__(self):
  104. # return u"{}){}".format(self.id, self.username)
  105. @classmethod
  106. def get_db_model(cls,match_id):
  107. table_name = "player_record_%s" % match_id
  108. if table_name in cls._db_model_dict:
  109. return cls._db_model_dict[table_name]
  110. class Meta:
  111. db_table = table_name
  112. attrs = {
  113. "__module__":cls.__module__,
  114. "Meta":Meta
  115. }
  116. db_model = type(str(table_name),(cls,),attrs)
  117. cls._db_model_dict[table_name] = db_model
  118. return db_model
  119. _db_model_dict = {}
  120. class Meta:
  121. abstract = True
  122. class Match(models.Model):
  123. """比赛数据
  124. """
  125. name = models.CharField(u"名称", max_length=255, blank=True,null=True)
  126. start_time = models.CharField(u"开始时间", max_length=255, blank=True,null=True)
  127. end_time = models.CharField(u"结束时间", max_length=255, blank=True,null=True)
  128. groups = models.TextField(u"结束时间", max_length=255, blank=True,null=True)
  129. calendar = models.TextField(u"报单日历", max_length=255, blank=True,null=True)
  130. valid_dates = models.TextField(u"有效报单时间", max_length=255, blank=True,null=True)
  131. player_price = models.FloatField(u"选手价格", blank=True,null=True)
  132. viewer_price = models.FloatField(u"游客价格", blank=True,null=True)
  133. match_status = models.SmallIntegerField(u"赛事状态1/待发布,2/开始报名,3/比赛中,4/比赛结束", blank=True,null=True,default=1)
  134. signup_start_time = models.CharField(u"报名开始时间", max_length=255, blank=True,null=True)
  135. signup_end_time = models.CharField(u"报名结束时间", max_length=255, blank=True,null=True)
  136. post_start_time = models.CharField(u"交作业开始时间", max_length=255, blank=True,null=True)
  137. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  138. class Meta:
  139. db_table = "match"
  140. verbose_name = u"比赛数据"
  141. app_label = "common"
  142. def __str__(self):
  143. return u"{}){}".format(self.id, self.name)
  144. class MatchGroup(models.Model):
  145. """比赛分组
  146. """
  147. match_id = models.IntegerField(u"比赛id", blank=True,null=True)
  148. name = models.CharField(u"名称", max_length=255, blank=True,null=True)
  149. is_active = models.SmallIntegerField(u"是否显示",default=1)
  150. order = models.IntegerField(u"排序字段",default=1)
  151. charge = models.IntegerField(u"是否收费1/收费0/免费",default=1)
  152. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  153. class Meta:
  154. db_table = "match_group"
  155. verbose_name = u"比赛分组"
  156. app_label = "common"
  157. def __str__(self):
  158. return u"{}){}".format(self.id, self.username)
  159. class Stock(models.Model):
  160. """股票信息表
  161. """
  162. name = models.CharField(u"名称", max_length=255, blank=True,null=True)
  163. code = models.CharField(u"代码", max_length=255, blank=True,null=True)
  164. img = models.TextField(u"封面图",blank=True,null=True)
  165. desc = models.TextField(u"内容",blank=True,null=True)
  166. user_num = models.IntegerField(u"持股人数",blank=False,null=False,default=0)
  167. comments_num = models.IntegerField(u"留言条数",blank=False,null=False,default=0)
  168. choice_num = models.IntegerField(u"自选人数",blank=False,null=False,default=0)
  169. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  170. class Meta:
  171. db_table = "stock"
  172. verbose_name = u"股票"
  173. app_label = "common"
  174. def __str__(self):
  175. return u"{}){}".format(self.id, self.username)
  176. class SysUserInfo(models.Model):
  177. # 基础属性
  178. name = models.CharField(u"名字", max_length=255, blank=True,null=True)
  179. phone = models.CharField(u"手机号", max_length=255, blank=True,null=True)
  180. password = models.CharField(u"密码", max_length=255, blank=True,null=True)
  181. realname = models.CharField(u"真实名称", max_length=255, blank=True, null=True)
  182. permissions = models.TextField(u"权限", blank=True,null=True)
  183. is_active = models.SmallIntegerField(u"是否激活可用",default=0)
  184. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  185. last_login = models.DateTimeField(u"创建时间", blank=True,null=True)
  186. class Meta:
  187. db_table = "sys_users"
  188. verbose_name = u"系统用户信息"
  189. app_label = "common"
  190. def __str__(self):
  191. return u"{}){}".format(self.id, self.name)
  192. def is_authenticated(self):
  193. return True
  194. def is_anonymous(self):
  195. return False
  196. class OperationLogConfig(models.Model):
  197. """操作日志模板配置
  198. """
  199. op_view = models.CharField(u"操作模块", max_length=100,blank=True,null=True)
  200. op_action_flag = models.CharField(u"操作类型", max_length=50)
  201. op_module = models.CharField(u"操作模块",max_length=255,blank=True,null=True)
  202. op_template = models.TextField(u"操作日志模板")
  203. op_url = models.CharField(u"URL", max_length=255)
  204. op_response = models.TextField(u"URL", max_length=255, blank=True, null=True)
  205. order = models.IntegerField(u"排序字段",blank=True,null=True)
  206. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  207. class Meta:
  208. db_table = "oplog_config"
  209. verbose_name = u"操作日志配置"
  210. class OperationLog(models.Model):
  211. """操作日志
  212. """
  213. op_user_name = models.CharField(u"操作员名称",max_length=255)
  214. op_user_realname = models.CharField(u"操作员姓名",max_length=255)
  215. op_user_id = models.IntegerField(u"操作员id")
  216. op_user_ip = models.CharField(u"操作员ip",max_length=100)
  217. op_config = models.ForeignKey(OperationLogConfig)
  218. op_request = models.TextField(u"request body", default="")
  219. is_suc = models.BooleanField(u"是否成功", default=True)
  220. error_msg = models.TextField(u"错误信息", max_length=255, blank=True, null=True)
  221. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  222. class Meta:
  223. db_table = "oplog"
  224. verbose_name = u"操作日志"
  225. class Article(models.Model):
  226. # 基础属性
  227. name = models.CharField(u"标题", max_length=255, blank=True,null=True)
  228. type = models.CharField(u"类型", max_length=255, blank=True,null=True)
  229. img = models.TextField(u"封面图",blank=True,null=True)
  230. content = models.TextField(u"内容",blank=True,null=True)
  231. status = models.SmallIntegerField(u"下线/上线/编辑中-1/2/1",default=1)
  232. isbanner = models.SmallIntegerField(u"是否banner",default=0)
  233. category = models.CharField(u"类型", max_length=255, blank=True,null=True)
  234. ctime = models.DateTimeField(u"创建时间",auto_now_add=True)
  235. class Meta:
  236. db_table = "article"
  237. verbose_name = u"文章信息"
  238. app_label = "common"
  239. class test(models.Model):
  240. """测试
  241. """
  242. name = models.CharField(u"标题", max_length=255, blank=True,null=True)
  243. group_rank = models.IntegerField(u"排名",blank=True,null=True)
  244. ctime = models.DateTimeField(u"创建时间",auto_now_add=True)
  245. class Meta:
  246. db_table = "test"
  247. verbose_name = u"测试表"
  248. app_label = "common"
  249. class UserFollows(models.Model):
  250. """用户关注表
  251. """
  252. player_id = models.IntegerField(u"选手id", blank=True,null=True)
  253. user_id = models.IntegerField(u"用户id", blank=True,null=True)
  254. follow_id = models.IntegerField(u"被关注选手id", blank=True,null=True)
  255. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  256. class Meta:
  257. db_table = "user_follows"
  258. verbose_name = u"用户关注表"
  259. app_label = "common"
  260. def __str__(self):
  261. return u"{}){}".format(self.id, self.user_id)
  262. class UserStock(models.Model):
  263. """选手持股情况
  264. """
  265. user_id = models.IntegerField(u"用户id", blank=True,null=True)
  266. player_id = models.IntegerField(u"选手id", blank=True,null=True)
  267. stock_id = models.IntegerField(u"股票id", blank=True,null=True)
  268. stock_date = models.CharField(u"持股日期", max_length=255,blank=True,null=True)
  269. stock_name = models.CharField(u"股票名称", max_length=255,blank=True,null=True)
  270. fund = models.FloatField(u"持股金额",blank=True,null=True)
  271. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  272. class Meta:
  273. db_table = "user_stock"
  274. verbose_name = u"选手持股"
  275. app_label = "common"
  276. def __str__(self):
  277. return u"{}){}".format(self.id, self.stock_name)
  278. class WinDefendRank(models.Model):
  279. """胜率榜
  280. """
  281. match_id = models.IntegerField(u"选手id", blank=True,null=True)
  282. match_group = models.CharField(u"比赛分组", max_length=255,blank=True,null=True)
  283. user_id = models.IntegerField(u"用户id", blank=True,null=True)
  284. player_id = models.IntegerField(u"选手id", blank=True,null=True)
  285. username = models.CharField(u"用户名", max_length=255, blank=True,null=True)
  286. today_fund = models.FloatField(u"资产",blank=True,null=True)
  287. total_income = models.FloatField(u"总收益",blank=True,null=True)
  288. win_rate = models.FloatField(u"胜率",blank=True,null=True)
  289. badest_income = models.FloatField(u"最大回撤",blank=True,null=True)
  290. zq = models.CharField(u"周期", max_length=255, blank=True, null=True)
  291. cw = models.CharField(u"仓位", max_length=255, blank=True, null=True)
  292. df = models.CharField(u"打法", max_length=255, blank=True, null=True)
  293. pz = models.CharField(u"品种", max_length=255, blank=True, null=True)
  294. auto_complete = models.SmallIntegerField(u"请假次数",default=0)
  295. match_status = models.SmallIntegerField(u"比赛状态,退赛/暂停/比赛中-1/0/1",default=1)
  296. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  297. class Meta:
  298. db_table = "win_defend_rank"
  299. verbose_name = u"胜率防守榜"
  300. app_label = "common"
  301. def __str__(self):
  302. return u"{}){}".format(self.id, self.username)
  303. class HotStockSellCount(models.Model):
  304. """热门清仓
  305. """
  306. stock_id = models.IntegerField(u"股票id", blank=True,null=True)
  307. stock_name = models.CharField(u"股票名称", blank=True,null=True,max_length=255)
  308. stock_date = models.CharField(u"持股日期", max_length=255,blank=True,null=True)
  309. seller_ids = models.TextField(u"清仓选手id",blank=True,null=True)
  310. count = models.IntegerField(u"清仓人数",default=1)
  311. class Meta:
  312. db_table = "hot_stock_seller"
  313. verbose_name = u"热门清仓"
  314. app_label = "common"
  315. def __str__(self):
  316. return u"{}){}".format(self.stock_id, self.stock_name)
  317. class SignupOrder(models.Model):
  318. """报名订单表
  319. """
  320. user_id = models.IntegerField(u"用户id",blank=True,null=True)
  321. player_id = models.IntegerField(u"选手id",blank=True,null=True)
  322. user_name = models.CharField(u"用户名",max_length=50,blank=True,null=True)
  323. match_id = models.IntegerField(u"比赛id",blank=True,null=True)
  324. match_name = models.CharField(u"比赛名称",max_length=50,blank=True,null=True)
  325. total_fee = models.FloatField(u"价格",blank=True,null=True)
  326. out_trade_no = models.CharField(u"订单号",max_length=50,blank=True,null=True)
  327. order_status = models.SmallIntegerField(u"订单状态",blank=True,null=True,default=0)
  328. pay_status = models.SmallIntegerField(u"支付状态",blank=True,null=True,default=0)
  329. pay_time = models.DateTimeField(u"支付时间",blank=True,null=True)
  330. signup_type = models.SmallIntegerField(u"报名类型1/游客,2/选手",blank=True,null=True)
  331. transaction_id = models.CharField(u"交易id",max_length=50,blank=True,null=True)
  332. remark = models.TextField(u"备注",max_length=50,blank=True,null=True)
  333. phone = models.CharField(u"手机号",max_length=50,blank=True,null=True)
  334. match_group = models.IntegerField(u"赛事分组",blank=True,null=True)
  335. signup_name = models.CharField(u"参赛名",max_length=50,blank=True,null=True)
  336. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  337. class Meta:
  338. db_table = "signup_order"
  339. verbose_name = u"报名订单表"
  340. app_label = "common"
  341. class Consult(models.Model):
  342. """顽主咨询
  343. """
  344. user_id = models.IntegerField(u"用户id",blank=True,null=True)
  345. user_name = models.CharField(u"用户名", max_length=255, blank=True,null=True)
  346. user_avatar = models.TextField(u"头像", max_length=255, blank=True,null=True)
  347. content = models.TextField(u"咨询内容", max_length=255, blank=True,null=True)
  348. reply_content = models.TextField(u"回复内容", max_length=255, blank=True,null=True)
  349. reply_status = models.SmallIntegerField(u"0/未回复,1/已回复",blank=True,null=True,default=0)
  350. view_status = models.SmallIntegerField(u"0/未读,1/已读",blank=True,null=True,default=0)
  351. width = models.IntegerField(u"宽度",blank=True,null=True)
  352. height = models.IntegerField(u"高度",blank=True,null=True)
  353. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  354. class Meta:
  355. db_table = "consult"
  356. verbose_name = u"顽主咨询"
  357. app_label = "common"
  358. class WanzhuConsult(models.Model):
  359. """顽主咨询
  360. """
  361. user_id = models.IntegerField(u"用户id",blank=True,null=True)
  362. user_name = models.CharField(u"用户名", max_length=255, blank=True,null=True)
  363. user_avatar = models.TextField(u"头像", max_length=255, blank=True,null=True)
  364. player_id = models.IntegerField(u"选手id",blank=True,null=True)
  365. content = models.TextField(u"咨询内容", max_length=255, blank=True,null=True)
  366. reply_content = models.TextField(u"回复内容", max_length=255, blank=True,null=True)
  367. reply_status = models.SmallIntegerField(u"0/未回复,1/已回复",blank=True,null=True,default=0)
  368. pid = models.IntegerField(u"上级id",blank=True,null=True)
  369. reply_user_id = models.IntegerField(u"回复用户id",blank=True,null=True)
  370. width = models.IntegerField(u"宽度",blank=True,null=True)
  371. height = models.IntegerField(u"高度",blank=True,null=True)
  372. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  373. class Meta:
  374. db_table = "wanzhu_consult"
  375. verbose_name = u"顽主咨询"
  376. app_label = "common"
  377. class Comments(models.Model):
  378. """作业评论
  379. """
  380. user_id = models.IntegerField(u"用户id",blank=True,null=True)
  381. user_name = models.CharField(u"用户名", max_length=255, blank=True,null=True)
  382. user_avatar = models.TextField(u"头像", max_length=255, blank=True,null=True)
  383. player_id = models.IntegerField(u"选手id",blank=True,null=True)
  384. content = models.TextField(u"咨询内容", max_length=255, blank=True,null=True)
  385. record_id = models.IntegerField(u"作业id",blank=True,null=True)
  386. pid = models.IntegerField(u"上级id",blank=True,null=True)
  387. ip = models.CharField(u"ip地址", max_length=255, blank=True,null=True)
  388. location = models.CharField(u"地理位置", max_length=255, blank=True,null=True)
  389. stock_id = models.IntegerField(u"作业id",blank=True,null=True)
  390. stock_name = models.CharField(u"股票名称", max_length=255, blank=True,null=True)
  391. rank = models.IntegerField(u"排序",blank=True,null=True,default=1)
  392. istop = models.IntegerField(u"置顶",blank=True,null=True,default=0)
  393. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  394. class Meta:
  395. db_table = "comments"
  396. verbose_name = u"评论"
  397. app_label = "common"
  398. class UserChoice(models.Model):
  399. """跟踪/自选
  400. """
  401. user_id = models.IntegerField(u"用户id",blank=True,null=True)
  402. user_name = models.CharField(u"用户名", max_length=255, blank=True,null=True)
  403. user_avatar = models.TextField(u"头像", max_length=255, blank=True,null=True)
  404. player_id = models.IntegerField(u"选手id",blank=True,null=True)
  405. stock_id = models.IntegerField(u"股票id",blank=True,null=True)
  406. stock_name = models.CharField(u"股票名称", max_length=255,blank=True,null=True)
  407. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  408. class Meta:
  409. db_table = "user_choice"
  410. verbose_name = u"跟踪/自选"
  411. app_label = "common"
  412. class FundInOut(models.Model):
  413. """资金出入
  414. """
  415. user_id = models.IntegerField(u"用户id",blank=True,null=True)
  416. fundin = models.FloatField(u"资金入",default=0.0)
  417. fundout = models.FloatField(u"资金出",default=0.0)
  418. stock_date = models.CharField(u"持股日期", max_length=255,blank=True,null=True)
  419. account_img = models.TextField(u"账号截图", max_length=255, blank=True, null=True)
  420. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  421. class Meta:
  422. db_table = "fund_inout"
  423. verbose_name = u"资金出入"
  424. app_label = "common"
  425. class UserMatch(models.Model):
  426. """用户参赛信息
  427. """
  428. user_id = models.IntegerField(u"用户id", blank=True,null=True)
  429. signup_name = models.CharField(u"参赛名", max_length=255,blank=True,null=True)
  430. match_id = models.IntegerField(u"比赛id", blank=True,null=True)
  431. match_group = models.CharField(u"比赛分组", max_length=255,blank=True,null=True)
  432. match_status = models.SmallIntegerField(u"比赛状态,退赛/暂停/比赛中-1/0/1",default=0)
  433. fund = models.FloatField(u"初始资金",default=0.0)
  434. ctime = models.DateTimeField(u"创建时间", auto_now_add=True)
  435. class Meta:
  436. db_table = "user_match"
  437. verbose_name = u"用户参赛信息(选手信息)"
  438. app_label = "common"
  439. def __str__(self):
  440. return u"{}){}".format(self.id, self.signup_name)
  441. #class PlayerRecordBase(models.Model):
  442. # """参数选手数据
  443. # """
  444. # user_id = models.IntegerField(u"用户id", blank=True,null=True)
  445. # player_id = models.IntegerField(u"用户id", blank=True,null=True)
  446. #
  447. # @classmethod
  448. # def get_db_model(cls,match_id):
  449. # table_name = "player_record_%s" % match_id
  450. # if table_name in cls._db_model_dict:
  451. # return cls._db_model_dict[table_name]
  452. # class Meta:
  453. # db_table = table_name
  454. #
  455. # attrs = {
  456. # "__module__":cls.__module__,
  457. # "Meta":Meta
  458. # }
  459. # db_model = type(table_name,(cls,),attrs)
  460. # cls._db_model_dict[table_name] = db_model
  461. # return db_model
  462. # _db_model_dict = {}
  463. # class Meta:
  464. # abstract = True
  465. class BaikeCategory(models.Model):
  466. """百科分类
  467. """
  468. name = models.CharField(u"政府名称", max_length=255, blank=True,null=True)
  469. parent_id = models.IntegerField(u"父级id",blank=True,null=True)
  470. parent_name = models.CharField(u"父级名称",blank=True,null=True,max_length=255)
  471. ctime = models.DateTimeField(u"创建时间",auto_now_add=True)
  472. class Meta:
  473. db_table = "baike_category"
  474. verbose_name = u"百科分类"
  475. app_label = "common"
  476. class BaikeDetail(models.Model):
  477. """百科词条详情
  478. """
  479. category_id = models.IntegerField(u"父级id",blank=True,null=True)
  480. category_name = models.CharField(u"父级名称", max_length=255, blank=True,null=True)
  481. name = models.CharField(u"词条名称", max_length=255, blank=True,null=True)
  482. intro = models.CharField(u"词条简介", max_length=255, blank=True,null=True)
  483. content = models.TextField(u"词条详情", max_length=255, blank=True,null=True)
  484. cid = models.IntegerField(u"创建人id",blank=True,null=True)
  485. cname = models.CharField(u"创建人名称", max_length=255, blank=True,null=True)
  486. status = models.SmallIntegerField(u"0/待发布,1/已发布",default=0)
  487. ctime = models.DateTimeField(u"创建时间",auto_now_add=True)
  488. class Meta:
  489. db_table = "baike_detail"
  490. verbose_name = u"百科词条详情"
  491. app_label = "common"
  492. class APPVersion(models.Model):
  493. """APP版本管理
  494. """
  495. name = models.CharField(u"词条名称", max_length=255, blank=True,null=True)
  496. url = models.CharField(u"安装包地址", max_length=255, blank=True,null=True)
  497. ctime = models.DateTimeField(u"创建时间",auto_now_add=True)
  498. class Meta:
  499. db_table = "app_version"
  500. verbose_name = u"app版本管理"
  501. app_label = "common"