0001_initial.py 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929
  1. # -*- coding: utf-8 -*-
  2. import datetime
  3. from south.db import db
  4. from south.v2 import SchemaMigration
  5. from django.db import models
  6. class Migration(SchemaMigration):
  7. def forwards(self, orm):
  8. # Adding model 'Alert'
  9. db.create_table(u'misago_alert', (
  10. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  11. ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.User'])),
  12. ('date', self.gf('django.db.models.fields.DateTimeField')()),
  13. ('message', self.gf('django.db.models.fields.TextField')()),
  14. ('variables', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  15. ))
  16. db.send_create_signal('misago', ['Alert'])
  17. # Adding model 'Ban'
  18. db.create_table(u'misago_ban', (
  19. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  20. ('test', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  21. ('ban', self.gf('django.db.models.fields.CharField')(max_length=255)),
  22. ('reason_user', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  23. ('reason_admin', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  24. ('expires', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
  25. ))
  26. db.send_create_signal('misago', ['Ban'])
  27. # Adding model 'Change'
  28. db.create_table(u'misago_change', (
  29. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  30. ('forum', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Forum'])),
  31. ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Thread'])),
  32. ('post', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Post'])),
  33. ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.User'], null=True, on_delete=models.SET_NULL, blank=True)),
  34. ('user_name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  35. ('user_slug', self.gf('django.db.models.fields.CharField')(max_length=255)),
  36. ('date', self.gf('django.db.models.fields.DateTimeField')()),
  37. ('ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39)),
  38. ('agent', self.gf('django.db.models.fields.CharField')(max_length=255)),
  39. ('reason', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  40. ('thread_name_new', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  41. ('thread_name_old', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  42. ('post_content', self.gf('django.db.models.fields.TextField')()),
  43. ('size', self.gf('django.db.models.fields.IntegerField')(default=0)),
  44. ('change', self.gf('django.db.models.fields.IntegerField')(default=0)),
  45. ))
  46. db.send_create_signal('misago', ['Change'])
  47. # Adding model 'Checkpoint'
  48. db.create_table(u'misago_checkpoint', (
  49. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  50. ('forum', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Forum'])),
  51. ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Thread'])),
  52. ('post', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Post'])),
  53. ('action', self.gf('django.db.models.fields.CharField')(max_length=255)),
  54. ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.User'], null=True, on_delete=models.SET_NULL, blank=True)),
  55. ('user_name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  56. ('user_slug', self.gf('django.db.models.fields.CharField')(max_length=255)),
  57. ('date', self.gf('django.db.models.fields.DateTimeField')()),
  58. ('ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39)),
  59. ('agent', self.gf('django.db.models.fields.CharField')(max_length=255)),
  60. ))
  61. db.send_create_signal('misago', ['Checkpoint'])
  62. # Adding model 'Fixture'
  63. db.create_table(u'misago_fixture', (
  64. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  65. ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  66. ))
  67. db.send_create_signal('misago', ['Fixture'])
  68. # Adding model 'Forum'
  69. db.create_table(u'misago_forum', (
  70. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  71. ('parent', self.gf('mptt.fields.TreeForeignKey')(blank=True, related_name='children', null=True, to=orm['misago.Forum'])),
  72. ('type', self.gf('django.db.models.fields.CharField')(max_length=12)),
  73. ('special', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  74. ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  75. ('slug', self.gf('django.db.models.fields.SlugField')(max_length=255)),
  76. ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  77. ('description_preparsed', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  78. ('threads', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  79. ('threads_delta', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  80. ('posts', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  81. ('posts_delta', self.gf('django.db.models.fields.IntegerField')(default=0)),
  82. ('redirects', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  83. ('redirects_delta', self.gf('django.db.models.fields.IntegerField')(default=0)),
  84. ('last_thread', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['misago.Thread'])),
  85. ('last_thread_name', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  86. ('last_thread_slug', self.gf('django.db.models.fields.SlugField')(max_length=255, null=True, blank=True)),
  87. ('last_thread_date', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
  88. ('last_poster', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['misago.User'])),
  89. ('last_poster_name', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  90. ('last_poster_slug', self.gf('django.db.models.fields.SlugField')(max_length=255, null=True, blank=True)),
  91. ('last_poster_style', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  92. ('prune_start', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  93. ('prune_last', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  94. ('redirect', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  95. ('attrs', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  96. ('show_details', self.gf('django.db.models.fields.BooleanField')(default=True)),
  97. ('style', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  98. ('closed', self.gf('django.db.models.fields.BooleanField')(default=False)),
  99. ('lft', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
  100. ('rght', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
  101. ('tree_id', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
  102. ('level', self.gf('django.db.models.fields.PositiveIntegerField')(db_index=True)),
  103. ))
  104. db.send_create_signal('misago', ['Forum'])
  105. # Adding model 'ForumRead'
  106. db.create_table(u'misago_forumread', (
  107. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  108. ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.User'])),
  109. ('forum', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Forum'])),
  110. ('updated', self.gf('django.db.models.fields.DateTimeField')()),
  111. ('cleared', self.gf('django.db.models.fields.DateTimeField')()),
  112. ))
  113. db.send_create_signal('misago', ['ForumRead'])
  114. # Adding model 'ForumRole'
  115. db.create_table(u'misago_forumrole', (
  116. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  117. ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  118. ('_permissions', self.gf('django.db.models.fields.TextField')(null=True, db_column='permissions', blank=True)),
  119. ))
  120. db.send_create_signal('misago', ['ForumRole'])
  121. # Adding model 'Karma'
  122. db.create_table(u'misago_karma', (
  123. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  124. ('forum', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Forum'])),
  125. ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Thread'])),
  126. ('post', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Post'])),
  127. ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.User'], null=True, on_delete=models.SET_NULL, blank=True)),
  128. ('user_name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  129. ('user_slug', self.gf('django.db.models.fields.CharField')(max_length=255)),
  130. ('date', self.gf('django.db.models.fields.DateTimeField')()),
  131. ('ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39)),
  132. ('agent', self.gf('django.db.models.fields.CharField')(max_length=255)),
  133. ('score', self.gf('django.db.models.fields.IntegerField')(default=0)),
  134. ))
  135. db.send_create_signal('misago', ['Karma'])
  136. # Adding model 'MonitorItem'
  137. db.create_table(u'misago_monitoritem', (
  138. ('id', self.gf('django.db.models.fields.CharField')(max_length=255, primary_key=True)),
  139. ('value', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  140. ('updated', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
  141. ))
  142. db.send_create_signal('misago', ['MonitorItem'])
  143. # Adding model 'Newsletter'
  144. db.create_table(u'misago_newsletter', (
  145. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  146. ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  147. ('token', self.gf('django.db.models.fields.CharField')(max_length=32)),
  148. ('step_size', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  149. ('progress', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  150. ('content_html', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  151. ('content_plain', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  152. ('ignore_subscriptions', self.gf('django.db.models.fields.BooleanField')(default=False)),
  153. ))
  154. db.send_create_signal('misago', ['Newsletter'])
  155. # Adding M2M table for field ranks on 'Newsletter'
  156. db.create_table(u'misago_newsletter_ranks', (
  157. ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
  158. ('newsletter', models.ForeignKey(orm['misago.newsletter'], null=False)),
  159. ('rank', models.ForeignKey(orm['misago.rank'], null=False))
  160. ))
  161. db.create_unique(u'misago_newsletter_ranks', ['newsletter_id', 'rank_id'])
  162. # Adding model 'Post'
  163. db.create_table(u'misago_post', (
  164. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  165. ('forum', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Forum'])),
  166. ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Thread'])),
  167. ('merge', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  168. ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.User'], null=True, on_delete=models.SET_NULL, blank=True)),
  169. ('user_name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  170. ('ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39)),
  171. ('agent', self.gf('django.db.models.fields.CharField')(max_length=255)),
  172. ('post', self.gf('django.db.models.fields.TextField')()),
  173. ('post_preparsed', self.gf('django.db.models.fields.TextField')()),
  174. ('upvotes', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  175. ('downvotes', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  176. ('checkpoints', self.gf('django.db.models.fields.BooleanField')(default=False)),
  177. ('date', self.gf('django.db.models.fields.DateTimeField')()),
  178. ('edits', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  179. ('edit_date', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
  180. ('edit_reason', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  181. ('edit_user', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['misago.User'])),
  182. ('edit_user_name', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  183. ('edit_user_slug', self.gf('django.db.models.fields.SlugField')(max_length=255, null=True, blank=True)),
  184. ('reported', self.gf('django.db.models.fields.BooleanField')(default=False)),
  185. ('moderated', self.gf('django.db.models.fields.BooleanField')(default=False)),
  186. ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False)),
  187. ('protected', self.gf('django.db.models.fields.BooleanField')(default=False)),
  188. ))
  189. db.send_create_signal('misago', ['Post'])
  190. # Adding M2M table for field mentions on 'Post'
  191. db.create_table(u'misago_post_mentions', (
  192. ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
  193. ('post', models.ForeignKey(orm['misago.post'], null=False)),
  194. ('user', models.ForeignKey(orm['misago.user'], null=False))
  195. ))
  196. db.create_unique(u'misago_post_mentions', ['post_id', 'user_id'])
  197. # Adding model 'PruningPolicy'
  198. db.create_table(u'misago_pruningpolicy', (
  199. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  200. ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  201. ('email', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  202. ('posts', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  203. ('registered', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  204. ('last_visit', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  205. ))
  206. db.send_create_signal('misago', ['PruningPolicy'])
  207. # Adding model 'Rank'
  208. db.create_table(u'misago_rank', (
  209. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  210. ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  211. ('name_slug', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  212. ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  213. ('style', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  214. ('title', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  215. ('special', self.gf('django.db.models.fields.BooleanField')(default=False)),
  216. ('as_tab', self.gf('django.db.models.fields.BooleanField')(default=False)),
  217. ('on_index', self.gf('django.db.models.fields.BooleanField')(default=False)),
  218. ('order', self.gf('django.db.models.fields.IntegerField')(default=0)),
  219. ('criteria', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  220. ))
  221. db.send_create_signal('misago', ['Rank'])
  222. # Adding model 'Role'
  223. db.create_table(u'misago_role', (
  224. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  225. ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  226. ('_special', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, db_column='special', blank=True)),
  227. ('protected', self.gf('django.db.models.fields.BooleanField')(default=False)),
  228. ('_permissions', self.gf('django.db.models.fields.TextField')(null=True, db_column='permissions', blank=True)),
  229. ))
  230. db.send_create_signal('misago', ['Role'])
  231. # Adding model 'Session'
  232. db.create_table(u'misago_session', (
  233. ('id', self.gf('django.db.models.fields.CharField')(max_length=42, primary_key=True)),
  234. ('data', self.gf('django.db.models.fields.TextField')(db_column='session_data')),
  235. ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='sessions', null=True, on_delete=models.SET_NULL, to=orm['misago.User'])),
  236. ('crawler', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  237. ('ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39)),
  238. ('agent', self.gf('django.db.models.fields.CharField')(max_length=255)),
  239. ('start', self.gf('django.db.models.fields.DateTimeField')()),
  240. ('last', self.gf('django.db.models.fields.DateTimeField')()),
  241. ('team', self.gf('django.db.models.fields.BooleanField')(default=False)),
  242. ('rank', self.gf('django.db.models.fields.related.ForeignKey')(related_name='sessions', null=True, on_delete=models.SET_NULL, to=orm['misago.Rank'])),
  243. ('admin', self.gf('django.db.models.fields.BooleanField')(default=False)),
  244. ('matched', self.gf('django.db.models.fields.BooleanField')(default=False)),
  245. ('hidden', self.gf('django.db.models.fields.BooleanField')(default=False)),
  246. ))
  247. db.send_create_signal('misago', ['Session'])
  248. # Adding model 'Setting'
  249. db.create_table(u'misago_setting', (
  250. ('setting', self.gf('django.db.models.fields.CharField')(max_length=255, primary_key=True)),
  251. ('group', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.SettingsGroup'], to_field='key')),
  252. ('value', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  253. ('value_default', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  254. ('normalize_to', self.gf('django.db.models.fields.CharField')(max_length=255)),
  255. ('field', self.gf('django.db.models.fields.CharField')(max_length=255)),
  256. ('extra', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  257. ('position', self.gf('django.db.models.fields.IntegerField')(default=0)),
  258. ('separator', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  259. ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  260. ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  261. ))
  262. db.send_create_signal('misago', ['Setting'])
  263. # Adding model 'SettingsGroup'
  264. db.create_table(u'misago_settingsgroup', (
  265. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  266. ('key', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)),
  267. ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  268. ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  269. ))
  270. db.send_create_signal('misago', ['SettingsGroup'])
  271. # Adding model 'SignInAttempt'
  272. db.create_table(u'misago_signinattempt', (
  273. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  274. ('ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39)),
  275. ('date', self.gf('django.db.models.fields.DateTimeField')()),
  276. ))
  277. db.send_create_signal('misago', ['SignInAttempt'])
  278. # Adding model 'ThemeAdjustment'
  279. db.create_table(u'misago_themeadjustment', (
  280. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  281. ('theme', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)),
  282. ('useragents', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  283. ))
  284. db.send_create_signal('misago', ['ThemeAdjustment'])
  285. # Adding model 'Thread'
  286. db.create_table(u'misago_thread', (
  287. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  288. ('forum', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Forum'])),
  289. ('weight', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  290. ('name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  291. ('slug', self.gf('django.db.models.fields.SlugField')(max_length=255)),
  292. ('replies', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  293. ('replies_reported', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  294. ('replies_moderated', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  295. ('replies_deleted', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  296. ('merges', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  297. ('score', self.gf('django.db.models.fields.PositiveIntegerField')(default=30)),
  298. ('upvotes', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  299. ('downvotes', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  300. ('start', self.gf('django.db.models.fields.DateTimeField')()),
  301. ('start_post', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['misago.Post'])),
  302. ('start_poster', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.User'], null=True, on_delete=models.SET_NULL, blank=True)),
  303. ('start_poster_name', self.gf('django.db.models.fields.CharField')(max_length=255)),
  304. ('start_poster_slug', self.gf('django.db.models.fields.SlugField')(max_length=255)),
  305. ('start_poster_style', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  306. ('last', self.gf('django.db.models.fields.DateTimeField')()),
  307. ('last_post', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['misago.Post'])),
  308. ('last_poster', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['misago.User'])),
  309. ('last_poster_name', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  310. ('last_poster_slug', self.gf('django.db.models.fields.SlugField')(max_length=255, null=True, blank=True)),
  311. ('last_poster_style', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  312. ('moderated', self.gf('django.db.models.fields.BooleanField')(default=False)),
  313. ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False)),
  314. ('closed', self.gf('django.db.models.fields.BooleanField')(default=False)),
  315. ))
  316. db.send_create_signal('misago', ['Thread'])
  317. # Adding model 'ThreadRead'
  318. db.create_table(u'misago_threadread', (
  319. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  320. ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.User'])),
  321. ('forum', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Forum'])),
  322. ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Thread'])),
  323. ('updated', self.gf('django.db.models.fields.DateTimeField')()),
  324. ))
  325. db.send_create_signal('misago', ['ThreadRead'])
  326. # Adding model 'Token'
  327. db.create_table(u'misago_token', (
  328. ('id', self.gf('django.db.models.fields.CharField')(max_length=42, primary_key=True)),
  329. ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='signin_tokens', to=orm['misago.User'])),
  330. ('created', self.gf('django.db.models.fields.DateTimeField')()),
  331. ('accessed', self.gf('django.db.models.fields.DateTimeField')()),
  332. ))
  333. db.send_create_signal('misago', ['Token'])
  334. # Adding model 'User'
  335. db.create_table(u'misago_user', (
  336. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  337. ('username', self.gf('django.db.models.fields.CharField')(max_length=255)),
  338. ('username_slug', self.gf('django.db.models.fields.SlugField')(unique=True, max_length=255)),
  339. ('email', self.gf('django.db.models.fields.EmailField')(max_length=255)),
  340. ('email_hash', self.gf('django.db.models.fields.CharField')(unique=True, max_length=32)),
  341. ('password', self.gf('django.db.models.fields.CharField')(max_length=255)),
  342. ('password_date', self.gf('django.db.models.fields.DateTimeField')()),
  343. ('avatar_type', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
  344. ('avatar_image', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  345. ('avatar_original', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  346. ('avatar_temp', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  347. ('signature', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  348. ('signature_preparsed', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  349. ('join_date', self.gf('django.db.models.fields.DateTimeField')()),
  350. ('join_ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39)),
  351. ('join_agent', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  352. ('last_date', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
  353. ('last_ip', self.gf('django.db.models.fields.GenericIPAddressField')(max_length=39, null=True, blank=True)),
  354. ('last_agent', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  355. ('hide_activity', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  356. ('allow_pms', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  357. ('subscribe_start', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  358. ('subscribe_reply', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  359. ('receive_newsletters', self.gf('django.db.models.fields.BooleanField')(default=True)),
  360. ('threads', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  361. ('posts', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  362. ('votes', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  363. ('karma_given_p', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  364. ('karma_given_n', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  365. ('karma_p', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  366. ('karma_n', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  367. ('following', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  368. ('followers', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  369. ('score', self.gf('django.db.models.fields.IntegerField')(default=0)),
  370. ('ranking', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  371. ('rank', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Rank'], null=True, on_delete=models.SET_NULL, blank=True)),
  372. ('last_sync', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
  373. ('title', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
  374. ('last_post', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
  375. ('last_search', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
  376. ('alerts', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)),
  377. ('alerts_date', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
  378. ('activation', self.gf('django.db.models.fields.IntegerField')(default=0)),
  379. ('token', self.gf('django.db.models.fields.CharField')(max_length=12, null=True, blank=True)),
  380. ('avatar_ban', self.gf('django.db.models.fields.BooleanField')(default=False)),
  381. ('avatar_ban_reason_user', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  382. ('avatar_ban_reason_admin', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  383. ('signature_ban', self.gf('django.db.models.fields.BooleanField')(default=False)),
  384. ('signature_ban_reason_user', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  385. ('signature_ban_reason_admin', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
  386. ('timezone', self.gf('django.db.models.fields.CharField')(default='utc', max_length=255)),
  387. ('is_team', self.gf('django.db.models.fields.BooleanField')(default=False)),
  388. ('acl_key', self.gf('django.db.models.fields.CharField')(max_length=12, null=True, blank=True)),
  389. ))
  390. db.send_create_signal('misago', ['User'])
  391. # Adding M2M table for field follows on 'User'
  392. db.create_table(u'misago_user_follows', (
  393. ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
  394. ('from_user', models.ForeignKey(orm['misago.user'], null=False)),
  395. ('to_user', models.ForeignKey(orm['misago.user'], null=False))
  396. ))
  397. db.create_unique(u'misago_user_follows', ['from_user_id', 'to_user_id'])
  398. # Adding M2M table for field ignores on 'User'
  399. db.create_table(u'misago_user_ignores', (
  400. ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
  401. ('from_user', models.ForeignKey(orm['misago.user'], null=False)),
  402. ('to_user', models.ForeignKey(orm['misago.user'], null=False))
  403. ))
  404. db.create_unique(u'misago_user_ignores', ['from_user_id', 'to_user_id'])
  405. # Adding M2M table for field roles on 'User'
  406. db.create_table(u'misago_user_roles', (
  407. ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
  408. ('user', models.ForeignKey(orm['misago.user'], null=False)),
  409. ('role', models.ForeignKey(orm['misago.role'], null=False))
  410. ))
  411. db.create_unique(u'misago_user_roles', ['user_id', 'role_id'])
  412. # Adding model 'UsernameChange'
  413. db.create_table(u'misago_usernamechange', (
  414. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  415. ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='namechanges', to=orm['misago.User'])),
  416. ('date', self.gf('django.db.models.fields.DateTimeField')()),
  417. ('old_username', self.gf('django.db.models.fields.CharField')(max_length=255)),
  418. ))
  419. db.send_create_signal('misago', ['UsernameChange'])
  420. # Adding model 'WatchedThread'
  421. db.create_table(u'misago_watchedthread', (
  422. (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
  423. ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.User'])),
  424. ('forum', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Forum'])),
  425. ('thread', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['misago.Thread'])),
  426. ('last_read', self.gf('django.db.models.fields.DateTimeField')()),
  427. ('email', self.gf('django.db.models.fields.BooleanField')(default=False)),
  428. ))
  429. db.send_create_signal('misago', ['WatchedThread'])
  430. def backwards(self, orm):
  431. # Deleting model 'Alert'
  432. db.delete_table(u'misago_alert')
  433. # Deleting model 'Ban'
  434. db.delete_table(u'misago_ban')
  435. # Deleting model 'Change'
  436. db.delete_table(u'misago_change')
  437. # Deleting model 'Checkpoint'
  438. db.delete_table(u'misago_checkpoint')
  439. # Deleting model 'Fixture'
  440. db.delete_table(u'misago_fixture')
  441. # Deleting model 'Forum'
  442. db.delete_table(u'misago_forum')
  443. # Deleting model 'ForumRead'
  444. db.delete_table(u'misago_forumread')
  445. # Deleting model 'ForumRole'
  446. db.delete_table(u'misago_forumrole')
  447. # Deleting model 'Karma'
  448. db.delete_table(u'misago_karma')
  449. # Deleting model 'MonitorItem'
  450. db.delete_table(u'misago_monitoritem')
  451. # Deleting model 'Newsletter'
  452. db.delete_table(u'misago_newsletter')
  453. # Removing M2M table for field ranks on 'Newsletter'
  454. db.delete_table('misago_newsletter_ranks')
  455. # Deleting model 'Post'
  456. db.delete_table(u'misago_post')
  457. # Removing M2M table for field mentions on 'Post'
  458. db.delete_table('misago_post_mentions')
  459. # Deleting model 'PruningPolicy'
  460. db.delete_table(u'misago_pruningpolicy')
  461. # Deleting model 'Rank'
  462. db.delete_table(u'misago_rank')
  463. # Deleting model 'Role'
  464. db.delete_table(u'misago_role')
  465. # Deleting model 'Session'
  466. db.delete_table(u'misago_session')
  467. # Deleting model 'Setting'
  468. db.delete_table(u'misago_setting')
  469. # Deleting model 'SettingsGroup'
  470. db.delete_table(u'misago_settingsgroup')
  471. # Deleting model 'SignInAttempt'
  472. db.delete_table(u'misago_signinattempt')
  473. # Deleting model 'ThemeAdjustment'
  474. db.delete_table(u'misago_themeadjustment')
  475. # Deleting model 'Thread'
  476. db.delete_table(u'misago_thread')
  477. # Deleting model 'ThreadRead'
  478. db.delete_table(u'misago_threadread')
  479. # Deleting model 'Token'
  480. db.delete_table(u'misago_token')
  481. # Deleting model 'User'
  482. db.delete_table(u'misago_user')
  483. # Removing M2M table for field follows on 'User'
  484. db.delete_table('misago_user_follows')
  485. # Removing M2M table for field ignores on 'User'
  486. db.delete_table('misago_user_ignores')
  487. # Removing M2M table for field roles on 'User'
  488. db.delete_table('misago_user_roles')
  489. # Deleting model 'UsernameChange'
  490. db.delete_table(u'misago_usernamechange')
  491. # Deleting model 'WatchedThread'
  492. db.delete_table(u'misago_watchedthread')
  493. models = {
  494. 'misago.alert': {
  495. 'Meta': {'object_name': 'Alert'},
  496. 'date': ('django.db.models.fields.DateTimeField', [], {}),
  497. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  498. 'message': ('django.db.models.fields.TextField', [], {}),
  499. 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"}),
  500. 'variables': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
  501. },
  502. 'misago.ban': {
  503. 'Meta': {'object_name': 'Ban'},
  504. 'ban': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  505. 'expires': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  506. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  507. 'reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  508. 'reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  509. 'test': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
  510. },
  511. 'misago.change': {
  512. 'Meta': {'object_name': 'Change'},
  513. 'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  514. 'change': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  515. 'date': ('django.db.models.fields.DateTimeField', [], {}),
  516. 'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
  517. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  518. 'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
  519. 'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
  520. 'post_content': ('django.db.models.fields.TextField', [], {}),
  521. 'reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  522. 'size': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  523. 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
  524. 'thread_name_new': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  525. 'thread_name_old': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  526. 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
  527. 'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  528. 'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
  529. },
  530. 'misago.checkpoint': {
  531. 'Meta': {'object_name': 'Checkpoint'},
  532. 'action': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  533. 'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  534. 'date': ('django.db.models.fields.DateTimeField', [], {}),
  535. 'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
  536. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  537. 'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
  538. 'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
  539. 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
  540. 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
  541. 'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  542. 'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
  543. },
  544. 'misago.fixture': {
  545. 'Meta': {'object_name': 'Fixture'},
  546. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  547. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
  548. },
  549. 'misago.forum': {
  550. 'Meta': {'object_name': 'Forum'},
  551. 'attrs': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  552. 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  553. 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  554. 'description_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  555. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  556. 'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
  557. 'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  558. 'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  559. 'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  560. 'last_thread': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Thread']"}),
  561. 'last_thread_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  562. 'last_thread_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  563. 'last_thread_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  564. 'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
  565. 'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
  566. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  567. 'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['misago.Forum']"}),
  568. 'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  569. 'posts_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  570. 'prune_last': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  571. 'prune_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  572. 'redirect': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  573. 'redirects': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  574. 'redirects_delta': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  575. 'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
  576. 'show_details': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
  577. 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
  578. 'special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  579. 'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  580. 'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  581. 'threads_delta': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  582. 'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
  583. 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'})
  584. },
  585. 'misago.forumread': {
  586. 'Meta': {'object_name': 'ForumRead'},
  587. 'cleared': ('django.db.models.fields.DateTimeField', [], {}),
  588. 'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
  589. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  590. 'updated': ('django.db.models.fields.DateTimeField', [], {}),
  591. 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
  592. },
  593. 'misago.forumrole': {
  594. 'Meta': {'object_name': 'ForumRole'},
  595. '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
  596. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  597. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
  598. },
  599. 'misago.karma': {
  600. 'Meta': {'object_name': 'Karma'},
  601. 'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  602. 'date': ('django.db.models.fields.DateTimeField', [], {}),
  603. 'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
  604. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  605. 'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
  606. 'post': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Post']"}),
  607. 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  608. 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
  609. 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
  610. 'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  611. 'user_slug': ('django.db.models.fields.CharField', [], {'max_length': '255'})
  612. },
  613. 'misago.monitoritem': {
  614. 'Meta': {'object_name': 'MonitorItem'},
  615. 'id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
  616. 'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  617. 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
  618. },
  619. 'misago.newsletter': {
  620. 'Meta': {'object_name': 'Newsletter'},
  621. 'content_html': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  622. 'content_plain': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  623. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  624. 'ignore_subscriptions': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  625. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  626. 'progress': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  627. 'ranks': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Rank']", 'symmetrical': 'False'}),
  628. 'step_size': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  629. 'token': ('django.db.models.fields.CharField', [], {'max_length': '32'})
  630. },
  631. 'misago.post': {
  632. 'Meta': {'object_name': 'Post'},
  633. 'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  634. 'checkpoints': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  635. 'date': ('django.db.models.fields.DateTimeField', [], {}),
  636. 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  637. 'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  638. 'edit_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  639. 'edit_reason': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  640. 'edit_user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
  641. 'edit_user_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  642. 'edit_user_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  643. 'edits': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  644. 'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
  645. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  646. 'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
  647. 'mentions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'mention_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
  648. 'merge': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  649. 'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  650. 'post': ('django.db.models.fields.TextField', [], {}),
  651. 'post_preparsed': ('django.db.models.fields.TextField', [], {}),
  652. 'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  653. 'reported': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  654. 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
  655. 'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  656. 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
  657. 'user_name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
  658. },
  659. 'misago.pruningpolicy': {
  660. 'Meta': {'object_name': 'PruningPolicy'},
  661. 'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  662. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  663. 'last_visit': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  664. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  665. 'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  666. 'registered': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
  667. },
  668. 'misago.rank': {
  669. 'Meta': {'object_name': 'Rank'},
  670. 'as_tab': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  671. 'criteria': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  672. 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  673. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  674. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  675. 'name_slug': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  676. 'on_index': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  677. 'order': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  678. 'special': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  679. 'style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  680. 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
  681. },
  682. 'misago.role': {
  683. 'Meta': {'object_name': 'Role'},
  684. '_permissions': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_column': "'permissions'", 'blank': 'True'}),
  685. '_special': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_column': "'special'", 'blank': 'True'}),
  686. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  687. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  688. 'protected': ('django.db.models.fields.BooleanField', [], {'default': 'False'})
  689. },
  690. 'misago.session': {
  691. 'Meta': {'object_name': 'Session'},
  692. 'admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  693. 'agent': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  694. 'crawler': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  695. 'data': ('django.db.models.fields.TextField', [], {'db_column': "'session_data'"}),
  696. 'hidden': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  697. 'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
  698. 'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
  699. 'last': ('django.db.models.fields.DateTimeField', [], {}),
  700. 'matched': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  701. 'rank': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Rank']"}),
  702. 'start': ('django.db.models.fields.DateTimeField', [], {}),
  703. 'team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  704. 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sessions'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"})
  705. },
  706. 'misago.setting': {
  707. 'Meta': {'object_name': 'Setting'},
  708. 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  709. 'extra': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  710. 'field': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  711. 'group': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.SettingsGroup']", 'to_field': "'key'"}),
  712. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  713. 'normalize_to': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  714. 'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  715. 'separator': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  716. 'setting': ('django.db.models.fields.CharField', [], {'max_length': '255', 'primary_key': 'True'}),
  717. 'value': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  718. 'value_default': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
  719. },
  720. 'misago.settingsgroup': {
  721. 'Meta': {'object_name': 'SettingsGroup'},
  722. 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  723. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  724. 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
  725. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'})
  726. },
  727. 'misago.signinattempt': {
  728. 'Meta': {'object_name': 'SignInAttempt'},
  729. 'date': ('django.db.models.fields.DateTimeField', [], {}),
  730. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  731. 'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'})
  732. },
  733. 'misago.themeadjustment': {
  734. 'Meta': {'object_name': 'ThemeAdjustment'},
  735. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  736. 'theme': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
  737. 'useragents': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
  738. },
  739. 'misago.thread': {
  740. 'Meta': {'object_name': 'Thread'},
  741. 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  742. 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  743. 'downvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  744. 'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
  745. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  746. 'last': ('django.db.models.fields.DateTimeField', [], {}),
  747. 'last_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
  748. 'last_poster': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.User']"}),
  749. 'last_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  750. 'last_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  751. 'last_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  752. 'merges': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  753. 'moderated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  754. 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  755. 'replies': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  756. 'replies_deleted': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  757. 'replies_moderated': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  758. 'replies_reported': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  759. 'score': ('django.db.models.fields.PositiveIntegerField', [], {'default': '30'}),
  760. 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
  761. 'start': ('django.db.models.fields.DateTimeField', [], {}),
  762. 'start_post': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['misago.Post']"}),
  763. 'start_poster': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
  764. 'start_poster_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  765. 'start_poster_slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
  766. 'start_poster_style': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  767. 'upvotes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  768. 'weight': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
  769. },
  770. 'misago.threadread': {
  771. 'Meta': {'object_name': 'ThreadRead'},
  772. 'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
  773. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  774. 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
  775. 'updated': ('django.db.models.fields.DateTimeField', [], {}),
  776. 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
  777. },
  778. 'misago.token': {
  779. 'Meta': {'object_name': 'Token'},
  780. 'accessed': ('django.db.models.fields.DateTimeField', [], {}),
  781. 'created': ('django.db.models.fields.DateTimeField', [], {}),
  782. 'id': ('django.db.models.fields.CharField', [], {'max_length': '42', 'primary_key': 'True'}),
  783. 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'signin_tokens'", 'to': "orm['misago.User']"})
  784. },
  785. 'misago.user': {
  786. 'Meta': {'object_name': 'User'},
  787. 'acl_key': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
  788. 'activation': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  789. 'alerts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  790. 'alerts_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  791. 'allow_pms': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  792. 'avatar_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  793. 'avatar_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  794. 'avatar_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  795. 'avatar_image': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  796. 'avatar_original': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  797. 'avatar_temp': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  798. 'avatar_type': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
  799. 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255'}),
  800. 'email_hash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
  801. 'followers': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  802. 'following': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  803. 'follows': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'follows_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
  804. 'hide_activity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  805. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  806. 'ignores': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ignores_set'", 'symmetrical': 'False', 'to': "orm['misago.User']"}),
  807. 'is_team': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  808. 'join_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  809. 'join_date': ('django.db.models.fields.DateTimeField', [], {}),
  810. 'join_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
  811. 'karma_given_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  812. 'karma_given_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  813. 'karma_n': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  814. 'karma_p': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  815. 'last_agent': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  816. 'last_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  817. 'last_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
  818. 'last_post': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  819. 'last_search': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  820. 'last_sync': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
  821. 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  822. 'password_date': ('django.db.models.fields.DateTimeField', [], {}),
  823. 'posts': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  824. 'rank': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Rank']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
  825. 'ranking': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  826. 'receive_newsletters': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
  827. 'roles': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['misago.Role']", 'symmetrical': 'False'}),
  828. 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
  829. 'signature': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  830. 'signature_ban': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  831. 'signature_ban_reason_admin': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  832. 'signature_ban_reason_user': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  833. 'signature_preparsed': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
  834. 'subscribe_reply': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  835. 'subscribe_start': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  836. 'threads': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
  837. 'timezone': ('django.db.models.fields.CharField', [], {'default': "'utc'", 'max_length': '255'}),
  838. 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
  839. 'token': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),
  840. 'username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  841. 'username_slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}),
  842. 'votes': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
  843. },
  844. 'misago.usernamechange': {
  845. 'Meta': {'object_name': 'UsernameChange'},
  846. 'date': ('django.db.models.fields.DateTimeField', [], {}),
  847. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  848. 'old_username': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
  849. 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'namechanges'", 'to': "orm['misago.User']"})
  850. },
  851. 'misago.watchedthread': {
  852. 'Meta': {'object_name': 'WatchedThread'},
  853. 'email': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
  854. 'forum': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Forum']"}),
  855. u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
  856. 'last_read': ('django.db.models.fields.DateTimeField', [], {}),
  857. 'thread': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.Thread']"}),
  858. 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['misago.User']"})
  859. }
  860. }
  861. complete_apps = ['misago']