]> git.openstreetmap.org Git - osqa.git/blob - forum/migrations/0021_create_new_pg_fts_triggers.py
Applies some of the Justin Grant's patches.
[osqa.git] / forum / migrations / 0021_create_new_pg_fts_triggers.py
1 # encoding: utf-8\r
2 import datetime\r
3 from south.db import db\r
4 from south.v2 import SchemaMigration\r
5 from django.db import models\r
6 from django.conf import settings\r
7 \r
8 class Migration(SchemaMigration):\r
9     \r
10     def forwards(self, orm):\r
11         if db.backend_name == "postgres" and not "pgfulltext" in settings.DISABLED_MODULES:\r
12             try:\r
13                 import forum_modules.pgfulltext.management\r
14             except Exception, e:\r
15                 pass\r
16     \r
17     \r
18     def backwards(self, orm):\r
19         "Write your backwards methods here."\r
20     \r
21     models = {\r
22         'auth.group': {\r
23             'Meta': {'object_name': 'Group'},\r
24             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
25             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),\r
26             'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'})\r
27         },\r
28         'auth.permission': {\r
29             'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},\r
30             'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),\r
31             'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),\r
32             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
33             'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})\r
34         },\r
35         'auth.user': {\r
36             'Meta': {'object_name': 'User'},\r
37             'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
38             'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),\r
39             'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),\r
40             'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}),\r
41             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
42             'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),\r
43             'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
44             'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
45             'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
46             'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),\r
47             'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),\r
48             'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}),\r
49             'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})\r
50         },\r
51         'contenttypes.contenttype': {\r
52             'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},\r
53             'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),\r
54             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
55             'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),\r
56             'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})\r
57         },\r
58         'forum.activity': {\r
59             'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"},\r
60             'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
61             'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}),\r
62             'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),\r
63             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
64             'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
65             'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),\r
66             'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.User']"})\r
67         },\r
68         'forum.anonymousnode': {\r
69             'Meta': {'object_name': 'AnonymousNode', '_ormbases': ['forum.Node']},\r
70             'convertible_to': ('django.db.models.fields.CharField', [], {'default': "'node'", 'max_length': '16'}),\r
71             'node_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['forum.Node']", 'unique': 'True', 'primary_key': 'True'}),\r
72             'validation_hash': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_content'", 'to': "orm['forum.Node']"})\r
73         },\r
74         'forum.answer': {\r
75             'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"},\r
76             'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
77             'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),\r
78             'accepted_by': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.User']", 'null': 'True'}),\r
79             'node_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['forum.Node']", 'unique': 'True', 'primary_key': 'True'}),\r
80             'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
81             'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})\r
82         },\r
83         'forum.authkeyuserassociation': {\r
84             'Meta': {'object_name': 'AuthKeyUserAssociation'},\r
85             'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
86             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
87             'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),\r
88             'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}),\r
89             'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['forum.User']"})\r
90         },\r
91         'forum.award': {\r
92             'Meta': {'unique_together': "(('content_type', 'object_id', 'user', 'badge'),)", 'object_name': 'Award', 'db_table': "u'award'"},\r
93             'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
94             'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}),\r
95             'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),\r
96             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
97             'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
98             'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),\r
99             'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'awards'", 'to': "orm['forum.User']"})\r
100         },\r
101         'forum.badge': {\r
102             'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"},\r
103             'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),\r
104             'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['forum.User']"}),\r
105             'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}),\r
106             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
107             'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
108             'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),\r
109             'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}),\r
110             'type': ('django.db.models.fields.SmallIntegerField', [], {})\r
111         },\r
112         'forum.favoritequestion': {\r
113             'Meta': {'unique_together': "(('question', 'user'),)", 'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"},\r
114             'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
115             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
116             'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}),\r
117             'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['forum.User']"})\r
118         },\r
119         'forum.flaggeditem': {\r
120             'Meta': {'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"},\r
121             'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
122             'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
123             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
124             'node': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'null': 'True', 'to': "orm['forum.Node']"}),\r
125             'reason': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True'}),\r
126             'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['forum.User']"})\r
127         },\r
128         'forum.keyvalue': {\r
129             'Meta': {'object_name': 'KeyValue'},\r
130             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
131             'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),\r
132             'value': ('forum.models.utils.PickledObjectField', [], {})\r
133         },\r
134         'forum.markedtag': {\r
135             'Meta': {'object_name': 'MarkedTag'},\r
136             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
137             'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}),\r
138             'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}),\r
139             'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['forum.User']"})\r
140         },\r
141         'forum.node': {\r
142             'Meta': {'object_name': 'Node'},\r
143             'abs_parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'all_children'", 'null': 'True', 'to': "orm['forum.Node']"}),\r
144             'active_revision': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'active'", 'unique': 'True', 'null': 'True', 'to': "orm['forum.NodeRevision']"}),\r
145             'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
146             'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nodes'", 'to': "orm['forum.User']"}),\r
147             'body': ('django.db.models.fields.TextField', [], {}),\r
148             'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),\r
149             'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
150             'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),\r
151             'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_nodes'", 'null': 'True', 'to': "orm['forum.User']"}),\r
152             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
153             'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),\r
154             'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_nodes'", 'null': 'True', 'to': "orm['forum.User']"}),\r
155             'node_type': ('django.db.models.fields.CharField', [], {'default': "'node'", 'max_length': '16'}),\r
156             'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}),\r
157             'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'children'", 'null': 'True', 'to': "orm['forum.Node']"}),\r
158             'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}),\r
159             'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}),\r
160             'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'nodes'", 'to': "orm['forum.Tag']"}),\r
161             'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}),\r
162             'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}),\r
163             'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'})\r
164         },\r
165         'forum.noderevision': {\r
166             'Meta': {'unique_together': "(('node', 'revision'),)", 'object_name': 'NodeRevision'},\r
167             'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'noderevisions'", 'to': "orm['forum.User']"}),\r
168             'body': ('django.db.models.fields.TextField', [], {}),\r
169             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
170             'node': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Node']"}),\r
171             'revised_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
172             'revision': ('django.db.models.fields.PositiveIntegerField', [], {}),\r
173             'summary': ('django.db.models.fields.CharField', [], {'max_length': '300'}),\r
174             'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}),\r
175             'title': ('django.db.models.fields.CharField', [], {'max_length': '300'})\r
176         },\r
177         'forum.openidassociation': {\r
178             'Meta': {'object_name': 'OpenIdAssociation'},\r
179             'assoc_type': ('django.db.models.fields.TextField', [], {'max_length': '64'}),\r
180             'handle': ('django.db.models.fields.CharField', [], {'max_length': '255'}),\r
181             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
182             'issued': ('django.db.models.fields.IntegerField', [], {}),\r
183             'lifetime': ('django.db.models.fields.IntegerField', [], {}),\r
184             'secret': ('django.db.models.fields.TextField', [], {'max_length': '255'}),\r
185             'server_url': ('django.db.models.fields.TextField', [], {'max_length': '2047'})\r
186         },\r
187         'forum.openidnonce': {\r
188             'Meta': {'object_name': 'OpenIdNonce'},\r
189             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
190             'salt': ('django.db.models.fields.CharField', [], {'max_length': '50'}),\r
191             'server_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}),\r
192             'timestamp': ('django.db.models.fields.IntegerField', [], {})\r
193         },\r
194         'forum.question': {\r
195             'Meta': {'object_name': 'Question', 'db_table': "u'question'"},\r
196             'accepted_answer': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'question_accepting'", 'unique': 'True', 'null': 'True', 'to': "orm['forum.Answer']"}),\r
197             'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),\r
198             'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}),\r
199             'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
200             'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),\r
201             'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['forum.User']"}),\r
202             'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['forum.User']"}),\r
203             'favourite_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}),\r
204             'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
205             'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'null': 'True', 'to': "orm['forum.User']"}),\r
206             'node_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['forum.Node']", 'unique': 'True'}),\r
207             'subscribers': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'subscriptions'", 'through': "'QuestionSubscription'", 'to': "orm['forum.User']"}),\r
208             'view_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}),\r
209             'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
210             'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'})\r
211         },\r
212         'forum.questionsubscription': {\r
213             'Meta': {'object_name': 'QuestionSubscription'},\r
214             'auto_subscription': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),\r
215             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
216             'last_view': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 17, 2, 50, 12, 337000)'}),\r
217             'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}),\r
218             'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.User']"})\r
219         },\r
220         'forum.repute': {\r
221             'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"},\r
222             'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
223             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
224             'node': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'reputes'", 'null': 'True', 'to': "orm['forum.Node']"}),\r
225             'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}),\r
226             'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}),\r
227             'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
228             'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'reputes'", 'to': "orm['forum.User']"}),\r
229             'user_previous_rep': ('django.db.models.fields.IntegerField', [], {'default': '0'}),\r
230             'value': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'})\r
231         },\r
232         'forum.subscriptionsettings': {\r
233             'Meta': {'object_name': 'SubscriptionSettings'},\r
234             'all_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
235             'all_questions_watched_tags': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
236             'enable_notifications': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),\r
237             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
238             'member_joins': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '1'}),\r
239             'new_question': ('django.db.models.fields.CharField', [], {'default': "'d'", 'max_length': '1'}),\r
240             'new_question_watched_tags': ('django.db.models.fields.CharField', [], {'default': "'i'", 'max_length': '1'}),\r
241             'notify_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
242             'notify_answers': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),\r
243             'notify_comments': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
244             'notify_comments_own_post': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),\r
245             'notify_reply_to_comments': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),\r
246             'questions_answered': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),\r
247             'questions_asked': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),\r
248             'questions_commented': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
249             'questions_viewed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
250             'subscribed_questions': ('django.db.models.fields.CharField', [], {'default': "'i'", 'max_length': '1'}),\r
251             'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'subscription_settings'", 'unique': 'True', 'to': "orm['forum.User']"})\r
252         },\r
253         'forum.tag': {\r
254             'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"},\r
255             'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['forum.User']"}),\r
256             'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
257             'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),\r
258             'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['forum.User']"}),\r
259             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
260             'marked_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'marked_tags'", 'through': "'MarkedTag'", 'to': "orm['forum.User']"}),\r
261             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),\r
262             'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})\r
263         },\r
264         'forum.user': {\r
265             'Meta': {'object_name': 'User', '_ormbases': ['auth.User']},\r
266             'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}),\r
267             'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}),\r
268             'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),\r
269             'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
270             'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}),\r
271             'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}),\r
272             'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
273             'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
274             'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),\r
275             'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),\r
276             'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}),\r
277             'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}),\r
278             'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),\r
279             'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}),\r
280             'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}),\r
281             'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'})\r
282         },\r
283         'forum.validationhash': {\r
284             'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'},\r
285             'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 18, 2, 50, 12, 421000)'}),\r
286             'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),\r
287             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
288             'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}),\r
289             'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}),\r
290             'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.User']"})\r
291         },\r
292         'forum.vote': {\r
293             'Meta': {'object_name': 'Vote', 'db_table': "u'vote'"},\r
294             'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),\r
295             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),\r
296             'node': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'null': 'True', 'to': "orm['forum.Node']"}),\r
297             'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['forum.User']"}),\r
298             'vote': ('django.db.models.fields.SmallIntegerField', [], {}),\r
299             'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'})\r
300         }\r
301     }\r
302     \r
303     complete_apps = ['forum']\r