diff --git a/djangoldp/fields.py b/djangoldp/fields.py index fb4ba855b788f71f216984e8e1154a38d6879757..9201eb2efb4d59b6d6325f9f9b8af2f0742570ae 100644 --- a/djangoldp/fields.py +++ b/djangoldp/fields.py @@ -1,10 +1,19 @@ +import requests from django.db import models from rest_framework import fields + class IdURLField (fields.URLField): + def to_representation(self, value): str = super(IdURLField, self).to_representation(value) return {'@id': str} + def get(self, value): + url = super(IdURLField, self).to_representation(value) + datas = requests.get(url).json() + return datas + + class LDPUrlField (models.URLField): pass diff --git a/djangoldp/models.py b/djangoldp/models.py index 291daf1fb40d21e1ef6d46818cc7e0332d6cb40c..a57b26d2ff258dc54eefa5e035b42dbc40e51072 100644 --- a/djangoldp/models.py +++ b/djangoldp/models.py @@ -1,11 +1,13 @@ from django.conf import settings -from django.contrib.auth.models import AnonymousUser +from django.contrib.auth.models import AnonymousUser, User from django.db import models from django.db.models.base import ModelBase from django.urls import get_resolver from django.utils.decorators import classonlymethod from guardian.shortcuts import get_perms +User._meta.rdf_type = "foaf:user" + class Model(models.Model): @@ -147,3 +149,4 @@ class LDNotification(models.Model): ('view_todo', 'Read'), ('control_todo', 'Control'), ) +