Skip to content

Commit 38c8bb3

Browse files
committed
Added friend creation helper methods
1 parent 7fc3aef commit 38c8bb3

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.10.4 on 2017-03-25 12:28
3+
from __future__ import unicode_literals
4+
5+
from django.conf import settings
6+
from django.db import migrations, models
7+
import django.db.models.deletion
8+
9+
10+
class Migration(migrations.Migration):
11+
12+
dependencies = [
13+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
14+
('home', '0004_friend'),
15+
]
16+
17+
operations = [
18+
migrations.AddField(
19+
model_name='friend',
20+
name='current_user',
21+
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='owner', to=settings.AUTH_USER_MODEL),
22+
),
23+
]

home/models.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,18 @@ class Post(models.Model):
1111

1212
class Friend(models.Model):
1313
users = models.ManyToManyField(User)
14+
current_user = models.ForeignKey(User, related_name='owner', null=True)
15+
16+
@classmethod
17+
def make_friend(cls, current_user, new_friend):
18+
friend, created = cls.objects.get_or_create(
19+
current_user=current_user
20+
)
21+
friend.users.add(new_friend)
22+
23+
@classmethod
24+
def lose_friend(cls, current_user, new_friend):
25+
friend, created = cls.objects.get_or_create(
26+
current_user=current_user
27+
)
28+
friend.users.remove(new_friend)

0 commit comments

Comments
 (0)