Hello,

Thanks for your reply.

I have a Postgres database, node, organization, person and thing are 
modelled like this:

CREATE TABLE public.ntw_node
(
    id integer NOT NULL DEFAULT nextval('ntw_node_id_seq'::regclass),
    CONSTRAINT ntw_node_pkey PRIMARY KEY (id)
)

CREATE TABLE public.ntw_organization
(
    id integer NOT NULL DEFAULT 
nextval('ntw_organization_id_seq'::regclass),
    nodeid integer NOT NULL,
    -- organization specific fields
    CONSTRAINT ntw_organization_nodeid_fkey FOREIGN KEY (nodeid)
        REFERENCES public.ntw_node (id) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE CASCADE
)

CREATE TABLE public.ntw_person
(
    id integer NOT NULL DEFAULT nextval('ntw_person_id_seq'::regclass),
    nodeid integer NOT NULL,
    -- person specific fields
    CONSTRAINT ntw_person_nodeid_fkey FOREIGN KEY (nodeid)
        REFERENCES public.ntw_node (id) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE CASCADE
)

CREATE TABLE public.ntw_thing
(
    id integer NOT NULL DEFAULT nextval('ntw_thing_id_seq'::regclass),
    nodeid integer NOT NULL,
    -- thing specific fields
    CONSTRAINT ntw_thing_nodeid_fkey FOREIGN KEY (nodeid)
        REFERENCES public.ntw_node (id) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE CASCADE
)


I am not sure how to get from the relational model to the object oriented 
model so that I can use
Django's ORM.

An organization could be a rugby club, a bakkery, an accountants office, a 
person could be a consultant,
 a trainer, an athlete.

At the moment nodes and users are related one-to-one:

CREATE TABLE public.auth_user
(
    id integer NOT NULL DEFAULT nextval('auth_user_id_seq'::regclass),
    nodeid integer,
    ...
    CONSTRAINT auth_user_nodeid_fkey FOREIGN KEY (nodeid)
        REFERENCES public.ntw_node (id) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE CASCADE
)

However, in reality nodes are not necessarily related to users one-to-one, 
there are nodes managed
by a root or admin user, as in the django admin they have access to all 
data related to a node.

In the Django tutorials I've done sofar for example an article is modelled 
like this:

class Article(models.Model):
    title = models.CharField(max_length=255)
    ...
    author = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete = models.CASCADE,
    )

So the question is_authorized is answered using settings.AUTH_USER_MODEL. 
In my case article would
be modelled like this:

class Article(models.Model):
    title = models.CharField(max_length=255)
    ...
    node = models.ForeignKey(
        Node,
        on_delete = models.CASCADE,
    )
 
Here I'm stuck at how to authorize a user. I hope I provided you with 
sufficient information
to point me in right direction.

Anne

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/36bbdfeb-3d27-4b64-860c-048460458a5dn%40googlegroups.com.

Reply via email to