sync
This commit is contained in:
parent
d306aad6e2
commit
44e84ef639
@ -1 +1,7 @@
|
||||
from django.contrib import admin
|
||||
from django.contrib import admin
|
||||
from przyrost.models import *
|
||||
|
||||
@admin.register(Category, Post, User, StaticPage, MenuEntry, Menu, Comment, Config)
|
||||
class AuthorAdmin(admin.ModelAdmin):
|
||||
pass
|
@ -14,8 +14,15 @@ class Post(models.Model):
|
||||
authors=models.ManyToManyField(User)
|
||||
category = models.ForeignKey(Category, on_delete=models.CASCADE)
|
||||
@staticmethod
|
||||
def getPostsOfAuthor(author):
|
||||
return Post.objects.filter(authors=author)
|
||||
@staticmethod
|
||||
def getYesterday():
|
||||
y=(datetime.datetime.today() - datetime.timedelta(days=1))
|
||||
return Post.objects.filter(created_at__day=y.day, created_at__month=y.month, created_at__year=y.year)
|
||||
@staticmethod
|
||||
def getTodays():
|
||||
return Post.objects.filter(created_at=timezone.datetime.today())
|
||||
return Post.objects.filter(created_at__day=datetime.datetime.now().date().day)
|
||||
@staticmethod
|
||||
def getPage(page:int):
|
||||
a = Post.objects.all()
|
||||
|
@ -1,6 +1,8 @@
|
||||
from django.test import TestCase
|
||||
from przyrost.models import *
|
||||
from django.utils import timezone
|
||||
from django.core import serializers
|
||||
|
||||
class testbasic(TestCase):
|
||||
|
||||
def setUp(self) -> None:
|
||||
@ -18,6 +20,52 @@ class testbasic(TestCase):
|
||||
)
|
||||
p.authors.set([u])
|
||||
p.save()
|
||||
|
||||
d = """[{"model": "przyrost.post","fields": {
|
||||
"text": "to jest drugi post",
|
||||
"category": 1, "authors": [1]}}]"""
|
||||
obj = serializers.deserialize("json", d)
|
||||
for l in obj:
|
||||
if not l.object.created_at:
|
||||
l.object.created_at = datetime.datetime.now()
|
||||
l.save()
|
||||
|
||||
xml = """<?xml version="1.0" encoding="utf-8"?><django-objects version="1.0"><object model="przyrost.post" ><field name="text" type="TextField">Why would I use XML???</field><field name="created_at" type="DateTimeField">2012-12-01T14:02:01.589710</field><field name="category" rel="ManyToOneRel" to="przyrost.category">1</field><field name="authors" rel="ManyToManyRel" to="przyrost.user"><object pk="1"></object></field></object><object model="przyrost.post" pk="2"><field name="text" type="TextField">to jest drugi post</field><field name="created_at" type="DateTimeField">2019-12-08T13:52:18.473000</field><field name="category" rel="ManyToOneRel" to="przyrost.category">1</field><field name="authors" rel="ManyToManyRel" to="przyrost.user"><object pk="1"></object></field></object></django-objects>"""
|
||||
obj = serializers.deserialize("xml", xml)
|
||||
for l in obj:
|
||||
if not l.object.created_at:
|
||||
l.object.created_at = datetime.datetime.now()
|
||||
l.save()
|
||||
|
||||
|
||||
print("final values:")
|
||||
print(Post.objects.all().values())
|
||||
def test_getPostByDate(self):
|
||||
self.assertEqual(len(Post.objects.all()),1)
|
||||
self.assertEqual(len(Post.getTodays()), 1)
|
||||
|
||||
print(list(Post.objects.all().values()))
|
||||
self.assertEqual(len(Post.objects.all()),3)
|
||||
self.assertEqual(len(Post.getTodays()), 2)
|
||||
self.assertEqual(len(Post.getYesterday()), 0)
|
||||
def test__serializeXML(self):
|
||||
print("XML: ")
|
||||
data = serializers.serialize("xml", Post.objects.all())
|
||||
print(data)
|
||||
def test__serializeJSON(self):
|
||||
print("JSON: ")
|
||||
data = serializers.serialize("json", Post.objects.all())
|
||||
print(data)
|
||||
|
||||
def test__deserializeJSON(self):
|
||||
d= """[{"model": "przyrost.post","fields": {
|
||||
"text": "to jest drugi post",
|
||||
"created_at": "2019-12-08T13:52:18.473", "category": 1, "authors": [1]}}]"""
|
||||
obj = serializers.deserialize("json",d)
|
||||
#for l in obj:
|
||||
# l.save()
|
||||
# from time import sleep
|
||||
#sleep(1)
|
||||
print("new values")
|
||||
print(Post.objects.all().values())
|
||||
def test__getPostsOfAuthor(self):
|
||||
d = Post.getPostsOfAuthor(User.objects.filter(name="Admin")[0])
|
||||
self.assertEqual(len(d), 3)
|
Loading…
Reference in New Issue
Block a user