'M2M reverse manipulations are all constrained to a single DB'

def test_m2m_reverse_operations(self):

    dive = Book.objects.using(u'other').create(title=u'Dive    into    Python', published=datetime.date(2009, 5, 4))
    mark = Person.objects.using(u'other').create(name=u'Mark    Pilgrim')
    dive.authors = [mark]
    grease = Book.objects.using(u'other').create(title=u'Greasemonkey    Hacks', published=datetime.date(2005, 11, 1))
    mark.book_set.add(grease)
    self.assertEqual(list(Person.objects.using(u'other').filter(book__title=u'Dive    into    Python').values_list(u'name', flat=True)), [u'Mark    Pilgrim'])
    self.assertEqual(list(Person.objects.using(u'other').filter(book__title=u'Greasemonkey    Hacks').values_list(u'name', flat=True)), [u'Mark    Pilgrim'])
    mark.book_set.remove(grease)
    self.assertEqual(list(Person.objects.using(u'other').filter(book__title=u'Dive    into    Python').values_list(u'name', flat=True)), [u'Mark    Pilgrim'])
    self.assertEqual(list(Person.objects.using(u'other').filter(book__title=u'Greasemonkey    Hacks').values_list(u'name', flat=True)), [])
    mark.book_set.clear()
    self.assertEqual(list(Person.objects.using(u'other').filter(book__title=u'Dive    into    Python').values_list(u'name', flat=True)), [])
    self.assertEqual(list(Person.objects.using(u'other').filter(book__title=u'Greasemonkey    Hacks').values_list(u'name', flat=True)), [])
    mark.book_set.create(title=u'Dive    into    HTML5', published=datetime.date(2020, 1, 1))
    self.assertEqual(list(Person.objects.using(u'other').filter(book__title=u'Dive    into    Python').values_list(u'name', flat=True)), [])
    self.assertEqual(list(Person.objects.using(u'other').filter(book__title=u'Dive    into    HTML5').values_list(u'name', flat=True)), [u'Mark    Pilgrim'])
