Loading django/db/migrations/writer.py +4 −2 Original line number Diff line number Diff line Loading @@ -152,10 +152,12 @@ class MigrationWriter(object): klass = value.im_class module = klass.__module__ return "%s.%s.%s" % (module, klass.__name__, value.__name__), set(["import %s" % module]) elif value.__name__ == '<lambda>': raise ValueError("Cannot serialize function: lambda") elif value.__module__ is None: raise ValueError("Cannot serialize function %r: No module" % value) else: module = value.__module__ if module is None: raise ValueError("Cannot serialize function %r: No module" % value) return "%s.%s" % (module, value.__name__), set(["import %s" % module]) # Classes elif isinstance(value, type): Loading tests/migrations/test_writer.py +3 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,9 @@ class WriterTests(TestCase): self.assertSerializedEqual(set([2, 3, "eighty"])) self.assertSerializedEqual({"lalalala": ["yeah", "no", "maybe"]}) self.assertSerializedEqual(_('Hello')) # Functions with six.assertRaisesRegex(self, ValueError, 'Cannot serialize function: lambda'): self.assertSerializedEqual(lambda x: 42) # Datetime stuff self.assertSerializedEqual(datetime.datetime.utcnow()) self.assertSerializedEqual(datetime.datetime.utcnow) Loading Loading
django/db/migrations/writer.py +4 −2 Original line number Diff line number Diff line Loading @@ -152,10 +152,12 @@ class MigrationWriter(object): klass = value.im_class module = klass.__module__ return "%s.%s.%s" % (module, klass.__name__, value.__name__), set(["import %s" % module]) elif value.__name__ == '<lambda>': raise ValueError("Cannot serialize function: lambda") elif value.__module__ is None: raise ValueError("Cannot serialize function %r: No module" % value) else: module = value.__module__ if module is None: raise ValueError("Cannot serialize function %r: No module" % value) return "%s.%s" % (module, value.__name__), set(["import %s" % module]) # Classes elif isinstance(value, type): Loading
tests/migrations/test_writer.py +3 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,9 @@ class WriterTests(TestCase): self.assertSerializedEqual(set([2, 3, "eighty"])) self.assertSerializedEqual({"lalalala": ["yeah", "no", "maybe"]}) self.assertSerializedEqual(_('Hello')) # Functions with six.assertRaisesRegex(self, ValueError, 'Cannot serialize function: lambda'): self.assertSerializedEqual(lambda x: 42) # Datetime stuff self.assertSerializedEqual(datetime.datetime.utcnow()) self.assertSerializedEqual(datetime.datetime.utcnow) Loading