diff --git a/ippisite/db.sqlite3 b/ippisite/db.sqlite3 index 7f26c319de03013d8a2ee4fd4574e563dd1dd02c..46aaf4b6776a9bf725d217f85d4bf10ccacee955 100644 Binary files a/ippisite/db.sqlite3 and b/ippisite/db.sqlite3 differ diff --git a/ippisite/ippidb/migrations/0005_auto_20170327_1301.py b/ippisite/ippidb/migrations/0005_auto_20170327_1301.py new file mode 100644 index 0000000000000000000000000000000000000000..0bab3b535d81083f6efd704bbcbcadc8c59fd0bd --- /dev/null +++ b/ippisite/ippidb/migrations/0005_auto_20170327_1301.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.5 on 2017-03-27 13:01 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('ippidb', '0004_auto_20170314_1449'), + ] + + operations = [ + migrations.CreateModel( + name='CellLine', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=50, unique=True, verbose_name='Name')), + ], + ), + migrations.CreateModel( + name='TestActivityDescription', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('test_name', models.CharField(max_length=100, verbose_name='Test name')), + ('test_type', models.CharField(choices=[('BIOCH', 'Biochemical assay'), ('CELL', 'Cellular assay')], max_length=5, verbose_name='Test type')), + ('test_modulation_type', models.CharField(choices=[('B', 'Binding'), ('I', 'Inhibition'), ('S', 'Stabilization')], max_length=1, verbose_name='Test modulation type')), + ('nb_active_compounds', models.IntegerField(verbose_name='Total number of active compounds')), + ('biblio_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.Bibliography')), + ('cell_line', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.CellLine')), + ('complex_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.ProteinDomainBoundComplex')), + ('ppi_id', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ippidb.Ppi')), + ], + ), + migrations.AlterModelOptions( + name='mddrcompoundactivityclass', + options={'verbose_name_plural': 'MDDR compound activity classes'}, + ), + migrations.AlterModelOptions( + name='mddrcompoundimport', + options={'verbose_name_plural': 'MDDR compound imports'}, + ), + migrations.AlterModelOptions( + name='mddrsimilarity', + options={'verbose_name_plural': 'MDDR similarities'}, + ), + migrations.AlterField( + model_name='taxonomy', + name='taxonomy_id', + field=models.DecimalField(decimal_places=0, max_digits=9, unique=True, verbose_name='NCBI TaxID'), + ), + ] diff --git a/ippisite/ippidb/migrations/0006_auto_20170327_1439.py b/ippisite/ippidb/migrations/0006_auto_20170327_1439.py new file mode 100644 index 0000000000000000000000000000000000000000..aaa0b9924e3fecdc779997b693fa56e0eb7dc7f4 --- /dev/null +++ b/ippisite/ippidb/migrations/0006_auto_20170327_1439.py @@ -0,0 +1,117 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.5 on 2017-03-27 14:39 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('ippidb', '0005_auto_20170327_1301'), + ] + + operations = [ + migrations.CreateModel( + name='ActivityType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=50, unique=True, verbose_name='Name')), + ], + ), + migrations.CreateModel( + name='AdministrationMode', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(blank=True, max_length=20, null=True, verbose_name='Administration mode')), + ], + ), + migrations.CreateModel( + name='CmpdAction', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('activation_mode', models.CharField(choices=[('O', 'Orthosteric'), ('A', 'Allosteric'), ('U', 'Unspecified')], max_length=1, verbose_name='Activation mode')), + ('modulation_type', models.CharField(choices=[('I', 'Inhibition'), ('S', 'Stabilization')], max_length=1, verbose_name='Modulation type')), + ('complex_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.ProteinDomainBoundComplex')), + ('compound_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.Compound')), + ], + ), + migrations.CreateModel( + name='CompoundActivityResult', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('activity', models.DecimalField(decimal_places=10, max_digits=12, verbose_name='Activity')), + ('activity_type_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.ActivityType')), + ('compound_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.Compound')), + ('test_activity_description_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.TestActivityDescription')), + ], + ), + migrations.CreateModel( + name='CompoundCytotoxicityResult', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('toxicity', models.BooleanField(default=False, verbose_name='Toxicity')), + ('compound_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.Compound')), + ], + ), + migrations.CreateModel( + name='CompoundPKResult', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('tolerated', models.NullBooleanField(verbose_name='Tolerated')), + ('auc', models.IntegerField(blank=True, null=True, verbose_name='Area under curve (ng.mL-1.hr)')), + ('clearance', models.DecimalField(blank=True, decimal_places=3, max_digits=7, null=True, verbose_name='Clearance (mL/hr)')), + ('cmax', models.DecimalField(blank=True, decimal_places=3, max_digits=7, null=True, verbose_name='Maximal concentration (ng/mL)')), + ('oral_bioavailability', models.IntegerField(blank=True, null=True, verbose_name='Oral Bioavailability (%F)')), + ('t_demi', models.IntegerField(blank=True, null=True, verbose_name='t½')), + ('t_max', models.IntegerField(blank=True, null=True, verbose_name='tmax')), + ('voldistribution', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True, verbose_name='Volume distribution (Vd)')), + ('compound_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.Compound')), + ], + ), + migrations.CreateModel( + name='TestCytotoxDescription', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('test_name', models.CharField(max_length=100, verbose_name='Cytotoxicity test name')), + ('compound_concentration', models.DecimalField(blank=True, decimal_places=3, max_digits=7, null=True, verbose_name='Compound concentration in μM')), + ('biblio_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.Bibliography')), + ('cell_line', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.CellLine')), + ], + ), + migrations.CreateModel( + name='TestPKDescription', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('test_name', models.CharField(max_length=100, verbose_name='Pharmacokinetic test name')), + ('dose', models.DecimalField(blank=True, decimal_places=4, max_digits=7, null=True, verbose_name='Dose in mg/kg')), + ('dose_interval', models.IntegerField(blank=True, null=True, verbose_name='Dose interval, in hours')), + ('administration_mode', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ippidb.AdministrationMode')), + ('biblio_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.Bibliography')), + ('organism', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.Taxonomy')), + ], + ), + migrations.AddField( + model_name='compoundpkresult', + name='test_pk_description_id', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.TestPKDescription'), + ), + migrations.AddField( + model_name='compoundcytotoxicityresult', + name='test_cytotoxicity_description_id', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ippidb.TestCytotoxDescription'), + ), + migrations.AlterUniqueTogether( + name='compoundpkresult', + unique_together=set([('compound_id', 'test_pk_description_id')]), + ), + migrations.AlterUniqueTogether( + name='compoundcytotoxicityresult', + unique_together=set([('compound_id', 'test_cytotoxicity_description_id')]), + ), + migrations.AlterUniqueTogether( + name='compoundactivityresult', + unique_together=set([('compound_id', 'test_activity_description_id', 'activity_type_id')]), + ), + ] diff --git a/ippisite/ippidb/models.py b/ippisite/ippidb/models.py index 5a5abf1b4c152854216596067dd03ed8bf5989b1..4ce93714c4252e463804ef049342e5a135f2f92d 100644 --- a/ippisite/ippidb/models.py +++ b/ippisite/ippidb/models.py @@ -245,187 +245,111 @@ class MDDRSimilarity(models.Model): unique_together = (('canonical_smile_ippidb', 'canonical_smile_mddr'),) verbose_name_plural = "MDDR similarities" -""" -class TestActivityDescription(models.Model): - complex_id = models.ForeignKey(Complex) - biblio_id = models.ForeignKey(Biblio) - idppi = models.ForeignKey(Ppi, models.DO_NOTHING, ='IDPPI', blank=True, null=True) - testnameactivity = models.CharField(='TestNameActivity', max_length=40) - isprimary = models.CharField(='IsPrimary', max_length=1) - protboundconstruct = models.CharField(='ProtBoundConstruct', max_length=11) - testtype = models.CharField(='TestType', max_length=5) - testmodulationtype = models.CharField(='TestModulationType', max_length=13) - nbactivescmpdstot = models.IntegerField(='NbActivesCmpdsTot') - conccmpds = models.DecimalField(='ConcCmpds', max_digits=7, decimal_places=3, blank=True, null=True) - protocol = models.TextField(='Protocol', blank=True, null=True) - concproteinbound = models.DecimalField(='ConcProteinBound', max_digits=7, decimal_places=3, blank=True, null=True) - concprotein2 = models.DecimalField(='ConcProtein2', max_digits=7, decimal_places=3, blank=True, null=True) - controlepos = models.CharField(='ControlePos', max_length=50, blank=True, null=True) - controleneg = models.CharField(='ControleNeg', max_length=50, blank=True, null=True) - cellline = models.CharField(='CellLine', max_length=50, blank=True, null=True) - pepseq = models.CharField(='PepSeq', max_length=100, blank=True, null=True) - marker = models.CharField(='Marker', max_length=35, blank=True, null=True) - - - - - - -class Actionevidencetest(models.Model): - idcmpdaction = models.ForeignKey('Cmpdaction', models.DO_NOTHING, ='IDCmpdAction') - idtestactivity = models.ForeignKey('Testactivitydescription', models.DO_NOTHING, ='IDTestActivity') - nbcopycompound = models.IntegerField(='NbCopyCompound', blank=True, null=True) +class CellLine(models.Model): + name = models.CharField('Name', max_length=50, unique=True) - class Meta: -# managed = False - db_table = 'actionEvidenceTest' - unique_together = (('idcmpdaction', 'idtestactivity'),) - - -class Actionevidencexray(models.Model): - idcmpdaction = models.ForeignKey('Cmpdaction', models.DO_NOTHING, ='IDCmpdAction') - codepdb = models.CharField(='CodePDB', max_length=4) - nbcopycompound = models.IntegerField(='NbCopyCompound') - idbindingsite = models.ForeignKey('Bindingsite', models.DO_NOTHING, ='IDBindingSite') - idbiblio = models.ForeignKey('Biblio', models.DO_NOTHING, ='IDBiblio', blank=True, null=True) +class TestActivityDescription(models.Model): + TEST_TYPES = ( + ('BIOCH', 'Biochemical assay'), + ('CELL', 'Cellular assay') + ) + TEST_MODULATION_TYPES = ( + ('B', 'Binding'), + ('I', 'Inhibition'), + ('S', 'Stabilization') + ) + complex_id = models.ForeignKey(ProteinDomainBoundComplex) + biblio_id = models.ForeignKey(Bibliography) + ppi_id = models.ForeignKey(Ppi, blank=True, null=True) + test_name = models.CharField('Test name', max_length=100) + test_type = models.CharField('Test type', max_length=5, choices=TEST_TYPES) + test_modulation_type = models.CharField('Test modulation type', max_length=1, choices=TEST_MODULATION_TYPES) + nb_active_compounds = models.IntegerField('Total number of active compounds') + cell_line = models.ForeignKey(CellLine) + +class ActivityType(models.Model): + name = models.CharField('Name', max_length=50, unique=True) + +class CompoundActivityResult(models.Model): + compound_id = models.ForeignKey(Compound) + test_activity_description_id = models.ForeignKey(TestActivityDescription) + activity_type_id = models.ForeignKey(ActivityType) + activity = models.DecimalField('Activity', max_digits=12, decimal_places=10) class Meta: -# managed = False - db_table = 'actionEvidenceXRay' - unique_together = (('idcmpdaction', 'codepdb'),) + unique_together = (('compound_id', 'test_activity_description_id', 'activity_type_id'),) +class TestCytotoxDescription(models.Model): + biblio_id = models.ForeignKey(Bibliography) + test_name = models.CharField('Cytotoxicity test name', max_length=100) + cell_line = models.ForeignKey(CellLine) + compound_concentration = models.DecimalField('Compound concentration in μM', max_digits=7, decimal_places=3, blank=True, null=True) -class Cmpdaction(models.Model): - idcmpdaction = models.AutoField(='IDCmpdAction', primary_key=True) - idcomplexebound = models.ForeignKey('Complexe', models.DO_NOTHING, ='IDComplexeBound') - idcompound = models.ForeignKey('Compound', models.DO_NOTHING, ='IDCompound') - activationmode = models.CharField(='ActivationMode', max_length=11) - modulationtype = models.CharField(='ModulationType', max_length=10) +class CompoundCytotoxicityResult(models.Model): + compound_id = models.ForeignKey(Compound) + test_cytotoxicity_description_id = models.ForeignKey(TestCytotoxDescription) + toxicity = models.BooleanField('Toxicity', default=False) class Meta: -# managed = False - db_table = 'cmpdAction' - - -class Cmpdactiveresult(models.Model): - idcompound = models.ForeignKey('Compound', models.DO_NOTHING, ='IDCompound') - idtestactivity = models.ForeignKey('Testactivitydescription', models.DO_NOTHING, ='IDTestActivity') - activitytype = models.CharField(='ActivityType', max_length=5) - activity = models.DecimalField(='Activity', max_digits=4, decimal_places=2) - pourcentinhib = models.IntegerField(='PourcentInhib', blank=True, null=True) + unique_together = (('compound_id', 'test_cytotoxicity_description_id'),) + +class AdministrationMode(models.Model): + name = models.CharField('Administration mode', max_length=20, blank=True, null=True) + +class TestPKDescription(models.Model): + biblio_id = models.ForeignKey(Bibliography) + test_name = models.CharField('Pharmacokinetic test name', max_length=100) + organism = models.ForeignKey(Taxonomy) + administration_mode = models.ForeignKey(AdministrationMode, blank=True, null=True) + dose = models.DecimalField('Dose in mg/kg', max_digits=7, decimal_places=4, blank=True, null=True) + dose_interval = models.IntegerField('Dose interval, in hours', blank=True, null=True) + +class CompoundPKResult(models.Model): + compound_id = models.ForeignKey(Compound) + test_pk_description_id = models.ForeignKey(TestPKDescription) + tolerated = models.NullBooleanField('Tolerated', null=True) + auc = models.IntegerField('Area under curve (ng.mL-1.hr)', blank=True, null=True) + clearance = models.DecimalField('Clearance (mL/hr)', max_digits=7, decimal_places=3, blank=True, null=True) + cmax = models.DecimalField('Maximal concentration (ng/mL)', max_digits=7, decimal_places=3, blank=True, null=True) + oral_bioavailability = models.IntegerField('Oral Bioavailability (%F)', blank=True, null=True) + t_demi = models.IntegerField('t½', blank=True, null=True) + t_max = models.IntegerField('tmax', blank=True, null=True) + voldistribution = models.DecimalField('Volume distribution (Vd)', max_digits=5, decimal_places=2, blank=True, null=True) class Meta: -# managed = False - db_table = 'cmpdActiveResult' - unique_together = (('idcompound', 'idtestactivity', 'activitytype'),) - + unique_together = (('compound_id', 'test_pk_description_id'),) -class Cmpdcytotoxresult(models.Model): - idcompound = models.ForeignKey('Compound', models.DO_NOTHING, ='IDCompound') - idtestcytotox = models.ForeignKey('Testcytotoxdescription', models.DO_NOTHING, ='IDTestCytotox') - toxicity = models.CharField(='Toxicity', max_length=1) - - class Meta: -# managed = False - db_table = 'cmpdCytotoxResult' - unique_together = (('idcompound', 'idtestcytotox'),) +class CmpdAction(models.Model): + ACTIVATION_MODES = ( + ('O', 'Orthosteric'), + ('A', 'Allosteric'), + ('U', 'Unspecified') + ) + MODULATION_TYPES = ( + ('I', 'Inhibition'), + ('S', 'Stabilization') + ) + complex_id = models.ForeignKey(ProteinDomainBoundComplex) + compound_id = models.ForeignKey(Compound) + activation_mode = models.CharField('Activation mode', max_length=1, choices=ACTIVATION_MODES) + modulation_type = models.CharField('Modulation type', max_length=1, choices=MODULATION_TYPES) -class Cmpdinactiveresult(models.Model): +"""" +class Actionevidencetest(models.Model): + idcmpdaction = models.ForeignKey('Cmpdaction', models.DO_NOTHING, ='IDCmpdAction') idtestactivity = models.ForeignKey('Testactivitydescription', models.DO_NOTHING, ='IDTestActivity') - idcompound = models.ForeignKey('Compound', models.DO_NOTHING, ='IDCompound') - pourcentinhib = models.IntegerField(='PourcentInhib', blank=True, null=True) - - class Meta: -# managed = False - db_table = 'cmpdInactiveResult' - unique_together = (('idtestactivity', 'idcompound'),) - - -class Cmpdpkresult(models.Model): - idcompound = models.ForeignKey('Compound', models.DO_NOTHING, ='IDCompound') - idtestpk = models.ForeignKey('Testpkdescription', models.DO_NOTHING, ='IDTestPK') - tolerated = models.CharField(='Tolerated', max_length=1) - auc = models.IntegerField(='AUC', blank=True, null=True) - clearance = models.DecimalField(='Clearance', max_digits=7, decimal_places=3, blank=True, null=True) - cmax = models.DecimalField(='Cmax', max_digits=7, decimal_places=3, blank=True, null=True) - oralbioavailability = models.IntegerField(='OralBioavailability', blank=True, null=True) - tdemi = models.IntegerField(='Tdemi', blank=True, null=True) - tmax = models.IntegerField(='Tmax', blank=True, null=True) - voldistribution = models.DecimalField(='VolDistribution', max_digits=5, decimal_places=2, blank=True, null=True) - - class Meta: -# managed = False - db_table = 'cmpdPKResult' - unique_together = (('idcompound', 'idtestpk'),) - - - - class Meta: -# managed = False - db_table = 'disease' - unique_together = (('idppi', 'disease'),) - - -class DjangoMigrations(models.Model): - app = models.CharField(max_length=255) - name = models.CharField(max_length=255) - applied = models.DateTimeField() - - class Meta: -# managed = False - db_table = 'django_migrations' - - -class Domain(models.Model): - iddomain = models.AutoField(='IDDomain', primary_key=True) - pfamid = models.CharField(='PfamID', max_length=20) - pfamnumaccession = models.CharField(='PfamNumAccession', unique=True, max_length=10) - domaindescription = models.CharField(='DomainDescription', max_length=100) - domainfamily = models.CharField(='DomainFamily', max_length=25) - - class Meta: -# managed = False - db_table = 'domain' - -class Mddrsimilarity(models.Model): - idcompound = models.ForeignKey(Compound, models.DO_NOTHING, ='IDCompound') - idmddrcompound = models.ForeignKey(Mddrcompound, models.DO_NOTHING, ='IDMDDRCompound') - versionmddr = models.CharField(='VersionMDDR', max_length=7) - tanimoto = models.DecimalField(='Tanimoto', max_digits=6, decimal_places=5) + nbcopycompound = models.IntegerField(='NbCopyCompound', blank=True, null=True) class Meta: # managed = False - db_table = 'mDDRSimilarity' - unique_together = (('idcompound', 'idmddrcompound', 'versionmddr'),) + db_table = 'actionEvidenceTest' + unique_together = (('idcmpdaction', 'idtestactivity'),) -class Ppi(models.Model): - idppi = models.AutoField(='IDPPI', primary_key=True) - idcomplexe1 = models.ForeignKey(Complexe, models.DO_NOTHING, ='IDComplexe1', related_name='cplx_id_1') - idcomplexe2 = models.ForeignKey(Complexe, models.DO_NOTHING, ='IDComplexe2', related_name='cplx_id_2') - idbindingsite1 = models.ForeignKey(Bindingsite, models.DO_NOTHING, ='IDBindingSite1', related_name='bs_id_1') - idbindingsite2 = models.ForeignKey(Bindingsite, models.DO_NOTHING, ='IDBindingSite2', related_name='bs_id_2') - family = models.CharField(='Family', max_length=25) - class Meta: -# managed = False - db_table = 'ppi' - unique_together = (('idcomplexe1', 'idcomplexe2', 'idbindingsite1', 'idbindingsite2'),) -class Protein(models.Model): - idprotein = models.AutoField(='IDProtein', primary_key=True) - numuniprot = models.CharField(='NumUniprot', unique=True, max_length=10) - protnamelg = models.CharField(='ProtNameLg', max_length=75) - protnamesh = models.CharField(='ProtNameSh', max_length=50) - protalias = models.CharField(='ProtAlias', unique=True, max_length=30) - protnamesp = models.CharField(='ProtNameSp', max_length=30) - organism = models.CharField(='Organism', max_length=80) - - class Meta: -# managed = False - db_table = 'protein' class Refcmpdbiblio(models.Model): @@ -438,46 +362,4 @@ class Refcmpdbiblio(models.Model): db_table = 'refCmpdBiblio' unique_together = (('idcompound', 'idbiblio'),) - -class Refproteinfonction(models.Model): - idprotein = models.ForeignKey(Protein, models.DO_NOTHING, ='IDProtein') - protfonctionsp = models.CharField(='ProtFonctionSP', max_length=200) - - class Meta: -# managed = False - db_table = 'refProteinFonction' - unique_together = (('protfonctionsp', 'idprotein'),) - - - - class Meta: -# managed = False - db_table = 'testActivityDescription' - - -class Testcytotoxdescription(models.Model): - idtestcytotox = models.AutoField(='IDTestCytotox', primary_key=True) - idbiblio = models.ForeignKey(Biblio, models.DO_NOTHING, ='IDBiblio') - testnamecytotox = models.CharField(='TestNameCytotox', max_length=40) - cellline = models.CharField(='CellLine', max_length=50) - conccmpd = models.DecimalField(='ConcCmpd', max_digits=7, decimal_places=3, blank=True, null=True) - - class Meta: -# managed = False - db_table = 'testCytotoxDescription' - - -class Testpkdescription(models.Model): - idtestpk = models.AutoField(='IDTestPK', primary_key=True) - idbiblio = models.ForeignKey(Biblio, models.DO_NOTHING, ='IDBiblio') - testnamepk = models.CharField(='TestNamePK', max_length=40) - animal = models.CharField(='Animal', max_length=100) - administrationmode = models.CharField(='AdministrationMode', max_length=2, blank=True, null=True) - concentration = models.DecimalField(='Concentration', max_digits=7, decimal_places=3, blank=True, null=True) - dose = models.DecimalField(='Dose', max_digits=7, decimal_places=2, blank=True, null=True) - doseinterval = models.IntegerField(='DoseInterval', blank=True, null=True) - - class Meta: -# managed = False - db_table = 'testPKDescription' """