def setUpTestData(cls): t1 = Tag.objects.create(name='Tag 1') t2 = Tag.objects.create(name='Tag 2') t3 = Tag.objects.create(name='Something else entirely') p1 = BlogPost.objects.create(title='Post 1', content='content 1') p2 = BlogPost.objects.create(title='Post 2', content='content 2') set_many(p1, 'tags', [t1, t2]) set_many(p2, 'tags', [t3])
def setUpTestData(cls): t1 = Tag.objects.create(name='Tag 1') t2 = Tag.objects.create(name='Tag 2') t3 = Tag.objects.create(name='Something else entirely') p1 = BlogPost.objects.create(title='Post 1', content='content 1') p2 = BlogPost.objects.create(title='Post 2', content='content 2') set_many(p1, 'tags', [t1, t2]) set_many(p2, 'tags', [t3])
def update(self, instance, validated_data): if 'password' in validated_data: validated_data['password'] = aes_encode(validated_data['password']) raise_errors_on_nested_writes('update', self, validated_data) info = model_meta.get_field_info(instance) for attr, value in validated_data.items(): if attr in info.relations: if info.relations[attr].to_many: set_many(instance, attr, value) else: setattr(instance, attr, value) instance.save() return instance
def setUpTestData(cls): ####################### # Create users ####################### user1 = User.objects.create(username="******", email="*****@*****.**") user2 = User.objects.create(username="******", email="*****@*****.**") ####################### # Create notes ####################### note1 = Note.objects.create(title="Test 1", content="Test content 1", author=user1) note2 = Note.objects.create(title="Test 2", content="Test content 2", author=user1) Note.objects.create(title="Hello Test 3", content="Test content 3", author=user1) note4 = Note.objects.create(title="Hello Test 4", content="Test content 4", author=user2) ####################### # Create posts ####################### post1 = Post.objects.create(note=note1, content="Test content in post 1") Post.objects.create(note=note2, content="Test content in post 2") post3 = Post.objects.create(note=note4, content="Test content in post 3") ####################### # Create covers ####################### Cover.objects.create(post=post1, comment="Cover 1") Cover.objects.create(post=post3, comment="Cover 2") ####################### # Create pages ####################### Page.objects.create(title="First page", content="First first.") Page.objects.create(title="Second page", content="Second second.", previous_page_id=1) Page.objects.create(title="Third page", content="Third third.", previous_page_id=2) Page.objects.create(title="Fourth page", content="Fourth fourth.", previous_page_id=3) ################################ # ManyToMany ################################ t1 = Tag.objects.create(name="park") Tag.objects.create(name="lake") t3 = Tag.objects.create(name="house") blogpost = BlogPost.objects.create(title="First post", content="First") set_many(blogpost, 'tags', [t1, t3]) blogpost = BlogPost.objects.create(title="Second post", content="Secon") set_many(blogpost, 'tags', [t3]) ################################ # Recursive relations ################################ a = A.objects.create(title="A1") b = B.objects.create(name="B1") c = C.objects.create(title="C1") c.a = a c.save() a.b = b a.save() A.objects.create(title="A2") C.objects.create(title="C2") C.objects.create(title="C3") john = Person.objects.create(name="John") Person.objects.create(name="Mark", best_friend=john)