Skip to content

Commit

Permalink
post url 및 view 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
daeguhighman committed Nov 7, 2023
1 parent d609a9d commit 2591a41
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 7 deletions.
13 changes: 9 additions & 4 deletions backend/post/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class Post(models.Model):
favorite_count = models.IntegerField(default=0)
event_durations = models.ManyToManyField(Duration, blank=True, related_name='duration_events', through='EventDuration')
time = models.CharField(max_length=100, null=True)
recommend_users = models.ManyToManyField(PersonalUser, blank=True, related_name='recommend_posts', through='Recommend')



Expand All @@ -29,10 +30,14 @@ class Favorite(models.Model):
user = models.ForeignKey(PersonalUser, on_delete=models.CASCADE)
post = models.ForeignKey(Post, on_delete=models.CASCADE)

class Recommend(models.Model):
user = models.ForeignKey(PersonalUser, on_delete=models.CASCADE)
post = models.ForeignKey(Post, on_delete=models.CASCADE)

class EventDuration(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
duration = models.ForeignKey(Duration, on_delete=models.CASCADE,to_field='event_day')
duration = models.ForeignKey(Duration, on_delete=models.CASCADE,to_field='event_day')

class Recommend(models.Model):
user = models.ForeignKey(PersonalUser, on_delete=models.CASCADE)
post = models.ForeignKey('post.Post', on_delete=models.CASCADE)
score = models.IntegerField(default=0)
class Meta:
ordering = ['-score']
2 changes: 1 addition & 1 deletion backend/post/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
# 키워드와 축제 여부 필터를 사용한 URL
path('keyword/<str:keyword>/festival/<int:is_festival>/', PostListView.as_view(), name='post-filter-keyword-and-festival'),

# 키워드와 날짌 범위 필터를 사용한 URL
# 키워드와 날짜 범위 필터를 사용한 URL
path('keyword/<str:keyword>/date/<str:start_date>/<str:end_date>/', PostListView.as_view(), name='post-filter-keyword-and-date'),

# 축제 여부와 날짜 범위 필터를 사용한 URL
Expand Down
1 change: 0 additions & 1 deletion backend/post/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ class PostFavoriteView(APIView):
def get(self, request):
posts = (
Post.objects.filter(favorite_users=request.user)
.annotate(like_count=Count("like_users"))
.order_by("-like_count")
)
if posts.count() == 0:
Expand Down
28 changes: 28 additions & 0 deletions backend/transfer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import django
import os, environ
import pymysql
import pandas as pd
pymysql.install_as_MySQLdb()

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'haengsha.settings')
django.setup()



from post.models import Post
from user.models import PersonalUser

def get_data():
myset = PersonalUser.objects.filter(role='User')
myset_list = list(myset)
print(myset_list)
return myset_list

def put_data():
file_name = '../recommend/all_recommends.csv'
df = pd.read_csv(file_name)

posts = Post.objects.all()


get_data()
2 changes: 1 addition & 1 deletion backend/user/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ class PersonalUser(AbstractUser, PermissionsMixin):
major = models.CharField(max_length=20, choices=MAJOR_CHOICES, default='Undefined')
grade = models.CharField(max_length=10, choices=GRADE_CHOICES, default='Undefined')
interest = models.CharField(max_length=10, choices=INTEREST_CHOICES, default='Undefined')


USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['nickname', 'role']
Expand All @@ -74,4 +75,3 @@ class PersonalUser(AbstractUser, PermissionsMixin):
# self.username = self.email
# super(PersonalUser, self).save(*args, **kwargs)


0 comments on commit 2591a41

Please sign in to comment.