I think I should start a new thread. It is a different problem, after all. On Thursday, November 6, 2014 5:13:09 PM UTC+1, David Palao wrote: > > Hi Collin, > Thanks a lot for the answer. I think you are right, and that was what > I was doing. Still, apparently the models could not be created > properly, or whatever. > > However I think I managed to convert this problem to a different one > (not sure if I should start a new thread). > What I did was: remove the __pycache__ dirs, remake the migrations, > and remove some models that were created by inspectdb (django > related). > > Now, the original problem has gone, BUT something (related, I think) > happens. With _meta.managed=False in my models I get > ... > django.db.utils.ProgrammingError: Table 'test_job_mon.job_info' doesn't > exist > > The test I'm running is very simple: > > class HomePageTest(TestCase): > def setUp(self): > from django.db.models.loading import get_models > self.unmanaged_models = [m for m in get_models() if not > m._meta.managed] > for m in self.unmanaged_models: > m._meta.managed = True > > def tearDown(self): > for m in self.unmanaged_models: > m._meta.managed = False > > def test_there_are_no_job_items_in_empty_db(self): > njobs = JobInfo.objects.count() > self.assertEqual(njobs, 0) > > > > The relevant model: > > class JobInfo(models.Model): > job_db_inx = models.IntegerField(primary_key=True) > id_job = models.IntegerField() > id_user = models.IntegerField() > id_group = models.IntegerField() > account = models.TextField(blank=True) > cpus_req = models.IntegerField() > cpus_alloc = models.IntegerField() > nodelist = models.TextField() > nodes_alloc = models.IntegerField() > partition = models.TextField() > time_start = models.IntegerField() > time_end = models.IntegerField() > was_updated = models.IntegerField() > jobmondatacleared = > models.IntegerField(db_column='jobMonDataCleared') # Field name made > lowercase. > endupcount = models.IntegerField(db_column='endUpCount') # Field > name made lowercase. > approved = models.IntegerField() > > class Meta: > managed = False > db_table = 'job_info' > > > Now, if I comment the line "managed = False" and run makemigrations, > the test passes. > > But I have checked that "managed" is switched to True during the tests. > > Any ideas? > > Thanks in advance, > > David > > 2014-11-05 18:45 GMT+01:00 Collin Anderson <[email protected]>: > > Hi David, > > > > Interesting. Shouldn't the test database be a separate, fresh, empty > > database (not a legacy database)? > > > > Thanks, > > Collin > > > > -- > > You received this message because you are subscribed to the Google > Groups > > "Django users" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to [email protected]. > > To post to this group, send email to [email protected]. > > Visit this group at http://groups.google.com/group/django-users. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/django-users/b79d8ab2-38ef-489d-9563-c2474c58defb%40googlegroups.com. > > > > > > For more options, visit https://groups.google.com/d/optout. >
-- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/144f19ac-f4de-4398-8beb-a29cbbf82d45%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

