Initial conversion of HTSWorkflow to use south migrations.
[htsworkflow.git] / htsworkflow / frontend / inventory / migrations / 0001_initial.py
1 # -*- coding: utf-8 -*-
2 from south.utils import datetime_utils as datetime
3 from south.db import db
4 from south.v2 import SchemaMigration
5 from django.db import models
6
7
8 class Migration(SchemaMigration):
9
10     def forwards(self, orm):
11         # Adding model 'Vendor'
12         db.create_table(u'inventory_vendor', (
13             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
14             ('name', self.gf('django.db.models.fields.CharField')(max_length=256)),
15             ('url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True)),
16         ))
17         db.send_create_signal(u'inventory', ['Vendor'])
18
19         # Adding model 'Location'
20         db.create_table(u'inventory_location', (
21             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
22             ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=256)),
23             ('location_description', self.gf('django.db.models.fields.TextField')()),
24             ('uuid', self.gf('django.db.models.fields.CharField')(max_length=32, blank=True)),
25             ('notes', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
26         ))
27         db.send_create_signal(u'inventory', ['Location'])
28
29         # Adding model 'ItemInfo'
30         db.create_table(u'inventory_iteminfo', (
31             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
32             ('model_id', self.gf('django.db.models.fields.CharField')(max_length=256, null=True, blank=True)),
33             ('part_number', self.gf('django.db.models.fields.CharField')(max_length=256, null=True, blank=True)),
34             ('lot_number', self.gf('django.db.models.fields.CharField')(max_length=256, null=True, blank=True)),
35             ('url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True)),
36             ('qty_purchased', self.gf('django.db.models.fields.IntegerField')(default=1)),
37             ('vendor', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['inventory.Vendor'])),
38             ('purchase_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
39             ('warranty_months', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
40             ('notes', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
41         ))
42         db.send_create_signal(u'inventory', ['ItemInfo'])
43
44         # Adding model 'ItemType'
45         db.create_table(u'inventory_itemtype', (
46             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
47             ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=64)),
48             ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
49         ))
50         db.send_create_signal(u'inventory', ['ItemType'])
51
52         # Adding model 'ItemStatus'
53         db.create_table(u'inventory_itemstatus', (
54             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
55             ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=64)),
56             ('notes', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
57         ))
58         db.send_create_signal(u'inventory', ['ItemStatus'])
59
60         # Adding model 'Item'
61         db.create_table(u'inventory_item', (
62             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
63             ('item_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['inventory.ItemType'])),
64             ('uuid', self.gf('django.db.models.fields.CharField')(unique=True, max_length=32, blank=True)),
65             ('barcode_id', self.gf('django.db.models.fields.CharField')(max_length=256, null=True, blank=True)),
66             ('force_use_uuid', self.gf('django.db.models.fields.BooleanField')(default=False)),
67             ('item_info', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['inventory.ItemInfo'])),
68             ('location', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['inventory.Location'])),
69             ('status', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['inventory.ItemStatus'], null=True, blank=True)),
70             ('creation_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
71             ('modified_date', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
72             ('notes', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
73         ))
74         db.send_create_signal(u'inventory', ['Item'])
75
76         # Adding model 'PrinterTemplate'
77         db.create_table(u'inventory_printertemplate', (
78             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
79             ('item_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['inventory.ItemType'])),
80             ('printer', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['bcmagic.Printer'])),
81             ('default', self.gf('django.db.models.fields.BooleanField')(default=False)),
82             ('template', self.gf('django.db.models.fields.TextField')()),
83         ))
84         db.send_create_signal(u'inventory', ['PrinterTemplate'])
85
86         # Adding model 'LongTermStorage'
87         db.create_table(u'inventory_longtermstorage', (
88             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
89             ('flowcell', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['experiments.FlowCell'])),
90             ('creation_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
91             ('modified_date', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
92         ))
93         db.send_create_signal(u'inventory', ['LongTermStorage'])
94
95         # Adding M2M table for field libraries on 'LongTermStorage'
96         m2m_table_name = db.shorten_name(u'inventory_longtermstorage_libraries')
97         db.create_table(m2m_table_name, (
98             ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
99             ('longtermstorage', models.ForeignKey(orm[u'inventory.longtermstorage'], null=False)),
100             ('library', models.ForeignKey(orm[u'samples.library'], null=False))
101         ))
102         db.create_unique(m2m_table_name, ['longtermstorage_id', 'library_id'])
103
104         # Adding M2M table for field storage_devices on 'LongTermStorage'
105         m2m_table_name = db.shorten_name(u'inventory_longtermstorage_storage_devices')
106         db.create_table(m2m_table_name, (
107             ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
108             ('longtermstorage', models.ForeignKey(orm[u'inventory.longtermstorage'], null=False)),
109             ('item', models.ForeignKey(orm[u'inventory.item'], null=False))
110         ))
111         db.create_unique(m2m_table_name, ['longtermstorage_id', 'item_id'])
112
113         # Adding model 'ReagentFlowcell'
114         db.create_table(u'inventory_reagentflowcell', (
115             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
116             ('creation_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
117             ('modified_date', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
118             ('flowcell', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['experiments.FlowCell'])),
119         ))
120         db.send_create_signal(u'inventory', ['ReagentFlowcell'])
121
122         # Adding M2M table for field reagent on 'ReagentFlowcell'
123         m2m_table_name = db.shorten_name(u'inventory_reagentflowcell_reagent')
124         db.create_table(m2m_table_name, (
125             ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
126             ('reagentflowcell', models.ForeignKey(orm[u'inventory.reagentflowcell'], null=False)),
127             ('item', models.ForeignKey(orm[u'inventory.item'], null=False))
128         ))
129         db.create_unique(m2m_table_name, ['reagentflowcell_id', 'item_id'])
130
131         # Adding model 'ReagentLibrary'
132         db.create_table(u'inventory_reagentlibrary', (
133             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
134             ('creation_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
135             ('modified_date', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
136             ('library', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['samples.Library'])),
137         ))
138         db.send_create_signal(u'inventory', ['ReagentLibrary'])
139
140         # Adding M2M table for field reagent on 'ReagentLibrary'
141         m2m_table_name = db.shorten_name(u'inventory_reagentlibrary_reagent')
142         db.create_table(m2m_table_name, (
143             ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
144             ('reagentlibrary', models.ForeignKey(orm[u'inventory.reagentlibrary'], null=False)),
145             ('item', models.ForeignKey(orm[u'inventory.item'], null=False))
146         ))
147         db.create_unique(m2m_table_name, ['reagentlibrary_id', 'item_id'])
148
149
150     def backwards(self, orm):
151         # Deleting model 'Vendor'
152         db.delete_table(u'inventory_vendor')
153
154         # Deleting model 'Location'
155         db.delete_table(u'inventory_location')
156
157         # Deleting model 'ItemInfo'
158         db.delete_table(u'inventory_iteminfo')
159
160         # Deleting model 'ItemType'
161         db.delete_table(u'inventory_itemtype')
162
163         # Deleting model 'ItemStatus'
164         db.delete_table(u'inventory_itemstatus')
165
166         # Deleting model 'Item'
167         db.delete_table(u'inventory_item')
168
169         # Deleting model 'PrinterTemplate'
170         db.delete_table(u'inventory_printertemplate')
171
172         # Deleting model 'LongTermStorage'
173         db.delete_table(u'inventory_longtermstorage')
174
175         # Removing M2M table for field libraries on 'LongTermStorage'
176         db.delete_table(db.shorten_name(u'inventory_longtermstorage_libraries'))
177
178         # Removing M2M table for field storage_devices on 'LongTermStorage'
179         db.delete_table(db.shorten_name(u'inventory_longtermstorage_storage_devices'))
180
181         # Deleting model 'ReagentFlowcell'
182         db.delete_table(u'inventory_reagentflowcell')
183
184         # Removing M2M table for field reagent on 'ReagentFlowcell'
185         db.delete_table(db.shorten_name(u'inventory_reagentflowcell_reagent'))
186
187         # Deleting model 'ReagentLibrary'
188         db.delete_table(u'inventory_reagentlibrary')
189
190         # Removing M2M table for field reagent on 'ReagentLibrary'
191         db.delete_table(db.shorten_name(u'inventory_reagentlibrary_reagent'))
192
193
194     models = {
195         u'auth.group': {
196             'Meta': {'object_name': 'Group'},
197             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
198             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
199             'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
200         },
201         u'auth.permission': {
202             'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
203             'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
204             'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
205             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
206             'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
207         },
208         u'auth.user': {
209             'Meta': {'object_name': 'User'},
210             'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
211             'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
212             'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
213             'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
214             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
215             'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
216             'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
217             'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
218             'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
219             'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
220             'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
221             'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
222             'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
223         },
224         u'bcmagic.printer': {
225             'Meta': {'object_name': 'Printer'},
226             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
227             'ip_address': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}),
228             'label_height': ('django.db.models.fields.FloatField', [], {}),
229             'label_shape': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
230             'label_width': ('django.db.models.fields.FloatField', [], {}),
231             'model': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
232             'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
233             'notes': ('django.db.models.fields.TextField', [], {})
234         },
235         u'contenttypes.contenttype': {
236             'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
237             'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
238             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
239             'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
240             'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
241         },
242         u'experiments.clusterstation': {
243             'Meta': {'ordering': "['-isdefault', 'name']", 'object_name': 'ClusterStation'},
244             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
245             'isdefault': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
246             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'})
247         },
248         u'experiments.flowcell': {
249             'Meta': {'ordering': "['-run_date']", 'object_name': 'FlowCell'},
250             'advanced_run': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
251             'cluster_station': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.ClusterStation']"}),
252             'control_lane': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
253             'flowcell_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}),
254             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
255             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
256             'paired_end': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
257             'read_length': ('django.db.models.fields.IntegerField', [], {'default': '32'}),
258             'run_date': ('django.db.models.fields.DateTimeField', [], {}),
259             'sequencer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.Sequencer']"})
260         },
261         u'experiments.sequencer': {
262             'Meta': {'ordering': "['-isdefault', '-active', 'name']", 'object_name': 'Sequencer'},
263             'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
264             'comment': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
265             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
266             'instrument_name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
267             'isdefault': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
268             'model': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
269             'name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
270             'serial_number': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
271         },
272         u'inventory.item': {
273             'Meta': {'object_name': 'Item'},
274             'barcode_id': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}),
275             'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
276             'force_use_uuid': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
277             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
278             'item_info': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['inventory.ItemInfo']"}),
279             'item_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['inventory.ItemType']"}),
280             'location': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['inventory.Location']"}),
281             'modified_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
282             'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
283             'status': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['inventory.ItemStatus']", 'null': 'True', 'blank': 'True'}),
284             'uuid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32', 'blank': 'True'})
285         },
286         u'inventory.iteminfo': {
287             'Meta': {'object_name': 'ItemInfo'},
288             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
289             'lot_number': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}),
290             'model_id': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}),
291             'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
292             'part_number': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}),
293             'purchase_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
294             'qty_purchased': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
295             'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
296             'vendor': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['inventory.Vendor']"}),
297             'warranty_months': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
298         },
299         u'inventory.itemstatus': {
300             'Meta': {'object_name': 'ItemStatus'},
301             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
302             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}),
303             'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
304         },
305         u'inventory.itemtype': {
306             'Meta': {'object_name': 'ItemType'},
307             'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
308             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
309             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'})
310         },
311         u'inventory.location': {
312             'Meta': {'object_name': 'Location'},
313             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
314             'location_description': ('django.db.models.fields.TextField', [], {}),
315             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '256'}),
316             'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
317             'uuid': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'})
318         },
319         u'inventory.longtermstorage': {
320             'Meta': {'object_name': 'LongTermStorage'},
321             'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
322             'flowcell': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.FlowCell']"}),
323             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
324             'libraries': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['samples.Library']", 'symmetrical': 'False'}),
325             'modified_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
326             'storage_devices': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['inventory.Item']", 'symmetrical': 'False'})
327         },
328         u'inventory.printertemplate': {
329             'Meta': {'object_name': 'PrinterTemplate'},
330             'default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
331             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
332             'item_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['inventory.ItemType']"}),
333             'printer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['bcmagic.Printer']"}),
334             'template': ('django.db.models.fields.TextField', [], {})
335         },
336         u'inventory.reagentflowcell': {
337             'Meta': {'object_name': 'ReagentFlowcell'},
338             'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
339             'flowcell': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.FlowCell']"}),
340             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
341             'modified_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
342             'reagent': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['inventory.Item']", 'symmetrical': 'False'})
343         },
344         u'inventory.reagentlibrary': {
345             'Meta': {'object_name': 'ReagentLibrary'},
346             'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
347             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
348             'library': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Library']"}),
349             'modified_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
350             'reagent': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['inventory.Item']", 'symmetrical': 'False'})
351         },
352         u'inventory.vendor': {
353             'Meta': {'object_name': 'Vendor'},
354             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
355             'name': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
356             'url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'})
357         },
358         u'samples.affiliation': {
359             'Meta': {'ordering': "['name', 'contact']", 'unique_together': "(('name', 'contact'),)", 'object_name': 'Affiliation'},
360             'contact': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}),
361             'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
362             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
363             'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
364             'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['samples.HTSUser']", 'null': 'True', 'blank': 'True'})
365         },
366         u'samples.antibody': {
367             'Meta': {'ordering': "['antigene']", 'object_name': 'Antibody'},
368             'antibodies': ('django.db.models.fields.CharField', [], {'max_length': '500', 'db_index': 'True'}),
369             'antigene': ('django.db.models.fields.CharField', [], {'max_length': '500', 'db_index': 'True'}),
370             'biology': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
371             'catalog': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
372             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
373             'nickname': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
374             'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
375             'source': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '500', 'null': 'True', 'blank': 'True'})
376         },
377         u'samples.cellline': {
378             'Meta': {'ordering': "['cellline_name']", 'object_name': 'Cellline'},
379             'cellline_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100', 'db_index': 'True'}),
380             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
381             'nickname': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
382             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'})
383         },
384         u'samples.condition': {
385             'Meta': {'ordering': "['condition_name']", 'object_name': 'Condition'},
386             'condition_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2000', 'db_index': 'True'}),
387             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
388             'nickname': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
389             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'})
390         },
391         u'samples.experimenttype': {
392             'Meta': {'object_name': 'ExperimentType'},
393             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
394             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'})
395         },
396         u'samples.htsuser': {
397             'Meta': {'ordering': "['first_name', 'last_name', 'username']", 'object_name': 'HTSUser', '_ormbases': [u'auth.User']},
398             u'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
399         },
400         u'samples.library': {
401             'Meta': {'ordering': "['-id']", 'object_name': 'Library'},
402             'account_number': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
403             'affiliations': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'library_affiliations'", 'null': 'True', 'to': u"orm['samples.Affiliation']"}),
404             'amplified_from_sample': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'amplified_into_sample'", 'null': 'True', 'to': u"orm['samples.Library']"}),
405             'antibody': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Antibody']", 'null': 'True', 'blank': 'True'}),
406             'bioanalyzer_concentration': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '5', 'decimal_places': '2', 'blank': 'True'}),
407             'bioanalyzer_image_url': ('django.db.models.fields.URLField', [], {'default': "''", 'max_length': '200', 'blank': 'True'}),
408             'bioanalyzer_summary': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
409             'cell_line': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Cellline']", 'null': 'True', 'blank': 'True'}),
410             'condition': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Condition']", 'null': 'True', 'blank': 'True'}),
411             'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
412             'experiment_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.ExperimentType']"}),
413             'gel_cut_size': ('django.db.models.fields.IntegerField', [], {'default': '225', 'null': 'True', 'blank': 'True'}),
414             'hidden': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
415             'id': ('django.db.models.fields.CharField', [], {'max_length': '10', 'primary_key': 'True'}),
416             'insert_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
417             'library_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
418             'library_species': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Species']"}),
419             'library_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.LibraryType']", 'null': 'True', 'blank': 'True'}),
420             'made_by': ('django.db.models.fields.CharField', [], {'default': "'Lorian'", 'max_length': '50', 'blank': 'True'}),
421             'made_for': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
422             'multiplex_id': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
423             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
424             'replicate': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
425             'stopping_point': ('django.db.models.fields.CharField', [], {'default': "'Done'", 'max_length': '25'}),
426             'successful_pM': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '9', 'decimal_places': '1', 'blank': 'True'}),
427             'tags': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'library_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['samples.Tag']"}),
428             'ten_nM_dilution': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
429             'undiluted_concentration': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '5', 'decimal_places': '2', 'blank': 'True'})
430         },
431         u'samples.librarytype': {
432             'Meta': {'ordering': "['-id']", 'object_name': 'LibraryType'},
433             'can_multiplex': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
434             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
435             'is_paired_end': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
436             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
437         },
438         u'samples.species': {
439             'Meta': {'ordering': "['scientific_name']", 'object_name': 'Species'},
440             'common_name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'blank': 'True'}),
441             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
442             'scientific_name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'})
443         },
444         u'samples.tag': {
445             'Meta': {'ordering': "['context', 'tag_name']", 'object_name': 'Tag'},
446             'context': ('django.db.models.fields.CharField', [], {'default': "'Library'", 'max_length': '50'}),
447             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
448             'tag_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'db_index': 'True'})
449         }
450     }
451
452     complete_apps = ['inventory']