Is your feature request related to a problem? Please describe.
Formerly, the Delegate model extended the default User class provided by Django via a OneToOneField. Each user's voice credit balance was recorded in the credit_balance field of their Delegate object.
However, we want users to be able to participate in more than one event on the app. This means they have to have a separate voice credit budget for each event. In order to implement this, we need a new database model.
Describe the solution you'd like
New structure: each user has one Profile object that extends the User class. For each event that a user is invited to, a new Delegate object is created to record their voice credit balance for that event. See below:
User (holds default Django login info)
email
password
etc.
Profile (holds other account info necessary for our app)
user (OneToOneField)
public_username
is_verified
oauth_token
groups_managed (for group admins)
etc.
Delegate (holds account info related to one specific event the user is participating in)
Is your feature request related to a problem? Please describe. Formerly, the
Delegate
model extended the defaultUser
class provided by Django via aOneToOneField
. Each user's voice credit balance was recorded in thecredit_balance
field of theirDelegate
object.However, we want users to be able to participate in more than one event on the app. This means they have to have a separate voice credit budget for each event. In order to implement this, we need a new database model.
Describe the solution you'd like New structure: each user has one
Profile
object that extends theUser
class. For each event that a user is invited to, a newDelegate
object is created to record their voice credit balance for that event. See below:User
(holds default Django login info)Profile
(holds other account info necessary for our app)OneToOneField
)Delegate
(holds account info related to one specific event the user is participating in)ForeignKeyField
)ForeignKeyField
)