use postgres json field

This commit is contained in:
j 2018-06-19 20:48:18 +02:00
commit 1bac062a50
24 changed files with 284 additions and 45 deletions

View file

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.4 on 2018-06-19 17:23
from __future__ import unicode_literals
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('user', '0003_sessiondata_numberofcollections')
]
operations = [
migrations.RunSQL(
'ALTER TABLE "user_sessiondata" ALTER COLUMN "info" TYPE jsonb USING "info"::text::jsonb'
),
migrations.RunSQL(
'ALTER TABLE "user_userprofile" ALTER COLUMN "ui" TYPE jsonb USING "ui"::text::jsonb'
),
migrations.RunSQL(
'ALTER TABLE "user_userprofile" ALTER COLUMN "preferences" TYPE jsonb USING "preferences"::text::jsonb'
),
]

View file

@ -9,9 +9,9 @@ from django.db import models
from django.db.models import Max
from django.conf import settings
from django.utils.encoding import python_2_unicode_compatible
from oxdjango.fields import JSONField
import ox
from oxdjango.fields import DictField
from ox.utils import json
from itemlist.models import List, Position
@ -38,7 +38,7 @@ class SessionData(models.Model):
useragent = models.CharField(max_length=4096, null=True)
windowsize = models.CharField(max_length=255, null=True)
screensize = models.CharField(max_length=255, null=True)
info = DictField(default={})
info = JSONField(default=dict, editable=False)
location = models.CharField(max_length=255, null=True)
location_sort = models.CharField(max_length=255, null=True)
@ -178,8 +178,8 @@ class UserProfile(models.Model):
level = models.IntegerField(default=1)
files_updated = models.DateTimeField(default=datetime.now)
newsletter = models.BooleanField(default=True)
ui = DictField(default={})
preferences = DictField(default={})
ui = JSONField(default=dict, editable=False)
preferences = JSONField(default=dict, editable=False)
notes = models.TextField(default='')