Added download counter to store
This commit is contained in:
parent
01cb0ed7da
commit
10cd04cbb0
|
@ -0,0 +1,21 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.10.5 on 2017-05-25 11:02
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('roms', '0008_auto_20170525_1256'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='rom',
|
||||||
|
name='download_count',
|
||||||
|
field=models.IntegerField(default=0),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
]
|
|
@ -33,6 +33,7 @@ class Rom(models.Model):
|
||||||
approved = models.BooleanField("approved", default=False)
|
approved = models.BooleanField("approved", default=False)
|
||||||
tags = TaggableManager(blank = True)
|
tags = TaggableManager(blank = True)
|
||||||
user = models.ForeignKey(User, blank=True, null=True)
|
user = models.ForeignKey(User, blank=True, null=True)
|
||||||
|
download_count = models.IntegerField()
|
||||||
creation_time = models.DateTimeField("creation time", auto_now_add = True)
|
creation_time = models.DateTimeField("creation time", auto_now_add = True)
|
||||||
edit_time = models.DateTimeField("edit time", auto_now = True)
|
edit_time = models.DateTimeField("edit time", auto_now = True)
|
||||||
|
|
||||||
|
@ -51,6 +52,7 @@ class Rom(models.Model):
|
||||||
'tags' : self.tag_list(),
|
'tags' : self.tag_list(),
|
||||||
'low_binary' : self.low_binary.url,
|
'low_binary' : self.low_binary.url,
|
||||||
'high_binary' : self.high_binary.url,
|
'high_binary' : self.high_binary.url,
|
||||||
|
'download_count' : self.download_count,
|
||||||
'creation_time' : self.creation_time,
|
'creation_time' : self.creation_time,
|
||||||
'edit_time' : self.edit_time
|
'edit_time' : self.edit_time
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
am {{rom.creation_time}}.
|
am {{rom.creation_time}}.
|
||||||
Zuletzt geupdated am {{rom.edit_time}}<br/>
|
Zuletzt geupdated am {{rom.edit_time}}<br/>
|
||||||
|
Bisher wurde dieses Rom {{rom.download_count}} heruntergeladen.</br>
|
||||||
|
|
||||||
{% for tag in rom.tags.all %}
|
{% for tag in rom.tags.all %}
|
||||||
<a href="{% url 'romlist' tag=tag.slug %}"><span class="tag is-medium categorie is-primary">{{tag.name}}</span></a>
|
<a href="{% url 'romlist' tag=tag.slug %}"><span class="tag is-medium categorie is-primary">{{tag.name}}</span></a>
|
||||||
|
|
|
@ -21,7 +21,7 @@ class RomList(ListView):
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
tag = self.kwargs.get('tag', None)
|
tag = self.kwargs.get('tag', None)
|
||||||
|
|
||||||
queryset = Rom.objects.all().filter(approved = True)
|
queryset = Rom.objects.all().filter(approved = True).order_by('-download_count')
|
||||||
if tag != None:
|
if tag != None:
|
||||||
queryset = queryset.filter(tags__slug = tag)
|
queryset = queryset.filter(tags__slug = tag)
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ class RomListJson(ListView):
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
tag = self.kwargs.get('tag', None)
|
tag = self.kwargs.get('tag', None)
|
||||||
|
|
||||||
queryset = Rom.objects.all().filter(approved = True)
|
queryset = Rom.objects.all().filter(approved = True).order_by('-download_count')
|
||||||
if tag != None:
|
if tag != None:
|
||||||
queryset = queryset.filter(tags__slug = tag)
|
queryset = queryset.filter(tags__slug = tag)
|
||||||
|
|
||||||
|
@ -127,5 +127,8 @@ class RomDetailViewJson(DetailView):
|
||||||
def render_to_response(self, context, **response_kwargs):
|
def render_to_response(self, context, **response_kwargs):
|
||||||
rom = self.get_object()
|
rom = self.get_object()
|
||||||
|
|
||||||
|
rom.download_count += 1
|
||||||
|
rom.save()
|
||||||
|
|
||||||
response_kwargs['safe'] = False
|
response_kwargs['safe'] = False
|
||||||
return JsonResponse(rom.to_json(), **response_kwargs)
|
return JsonResponse(rom.to_json(), **response_kwargs)
|
||||||
|
|
Loading…
Reference in New Issue