python - django friends model with circle - choose best way - different approaches provided -


first proposal:
friendinvitemodel containing invitation data that.
friend model containing friends data in way:

friendmodel(models.model):     user = foreignkey..     friend = fkey ...     circle = foreignkey .. 

so, here let assume, have 3 users, usera, userb, userc. usera, userb friends. userb, userc friends. usera, userc friends. then, have 6 records here this:

    record 1: user = usera, friend=userb     record 2 : user = usera, friend=userc     record 3: user = userb, friend=usera     record 4 : user = userb, friend=userc     record 5: user = userc, friend=usera     record 6 : user = userc, friend=userb 

i know records doubled here, sake making "circle" work correctly, have given this.

second proposal:

there wont friend model, circle there

  class circle(models.model):        user = foreignkey...        json = json data comes here 

so, here doing is, every user, object created here, friends list in json data.

which approach u feel good? first or second ? also, json plan makes fetching mutual friends difficult ?

ok then, in both approaches, have fetch user information when fetching users, so, plan . cache every user's userprofile , userobject forever , whenever user object or userprofile obj modified, trigger someway refresh cache instance. how can ?

one idea have is, store modified user id in memory or redis kind of fast database. write decorator checks if request id in list of modified userids. if available, fetched database , key deleted list of modified userids. if not available, simple show cache. not sure, how dot this.


Comments