users
- users.UserProfile
- users.UserNotification
- users.DeniedName
- users.IPNetworkUserRestriction
- users.EmailUserRestriction
- users.DisposableEmailDomainRestriction
- users.FingerprintRestriction
- users.UserRestrictionHistory
- users.UserHistory
- users.BannedUserContent
- users.SuppressedEmail
- users.SuppressedEmailVerification
![digraph model_graph {
// Dotfile by Django-Extensions graph_models
// Created: 2025-12-14 16:00
fontname = "Roboto"
fontsize = 8
splines = true
rankdir = "TB"
node [
fontname = "Roboto"
fontsize = 8
shape = "plaintext"
]
edge [
fontname = "Roboto"
fontsize = 8
]
// Labels
subgraph cluster_olympia_users {
label=<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER">
<FONT FACE="Roboto" COLOR="Black" POINT-SIZE="10">
<B>olympia.users</B>
</FONT>
</TD></TR>
</TABLE>
>
color=olivedrab4
style="rounded"
django_contrib_auth_base_user_AbstractBaseUser [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
AbstractBaseUser
</B></FONT></TD></TR>
</TABLE>
>]
olympia_amo_models_ModelBase [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
ModelBase
</B></FONT></TD></TR>
</TABLE>
>]
olympia_users_models_RestrictionAbstractBaseModel [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
RestrictionAbstractBaseModel<BR/><<FONT FACE="Roboto"><I>ModelBase</I></FONT>>
</B></FONT></TD></TR>
</TABLE>
>]
olympia_users_models_UserProfile [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
UserProfile<BR/><<FONT FACE="Roboto"><I>ModelBase,AbstractBaseUser</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>AutoField</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_UserNotification [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
UserNotification<BR/><<FONT FACE="Roboto"><I>ModelBase</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>AutoField</B></FONT>
</TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>user</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>ForeignKey (id)</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_DeniedName [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
DeniedName<BR/><<FONT FACE="Roboto"><I>ModelBase</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>AutoField</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_IPNetworkUserRestriction [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
IPNetworkUserRestriction<BR/><<FONT FACE="Roboto"><I>RestrictionAbstractBaseModel</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>PositiveAutoField</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_EmailUserRestriction [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
EmailUserRestriction<BR/><<FONT FACE="Roboto"><I>RestrictionAbstractBaseModel</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>PositiveAutoField</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_DisposableEmailDomainRestriction [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
DisposableEmailDomainRestriction<BR/><<FONT FACE="Roboto"><I>RestrictionAbstractBaseModel</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>AutoField</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_FingerprintRestriction [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
FingerprintRestriction<BR/><<FONT FACE="Roboto"><I>RestrictionAbstractBaseModel</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>AutoField</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_UserRestrictionHistory [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
UserRestrictionHistory<BR/><<FONT FACE="Roboto"><I>ModelBase</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>AutoField</B></FONT>
</TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>user</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>ForeignKey (id)</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_UserHistory [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
UserHistory<BR/><<FONT FACE="Roboto"><I>ModelBase</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>PositiveAutoField</B></FONT>
</TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>user</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>ForeignKey (id)</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_BannedUserContent [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
BannedUserContent<BR/><<FONT FACE="Roboto"><I>ModelBase</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>user</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>OneToOneField (id)</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_SuppressedEmail [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
SuppressedEmail<BR/><<FONT FACE="Roboto"><I>ModelBase</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>AutoField</B></FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_SuppressedEmailVerification [label=<
<TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
SuppressedEmailVerification<BR/><<FONT FACE="Roboto"><I>ModelBase</I></FONT>>
</B></FONT></TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>id</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>AutoField</B></FONT>
</TD></TR>
<TR><TD ALIGN="LEFT" BORDER="0">
<FONT FACE="Roboto"><B>suppressed_email</B></FONT>
</TD><TD ALIGN="LEFT">
<FONT FACE="Roboto"><B>OneToOneField (id)</B></FONT>
</TD></TR>
</TABLE>
>]
}
// Relations
olympia_users_models_RestrictionAbstractBaseModel -> olympia_amo_models_ModelBase
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_UserProfile -> olympia_amo_models_ModelBase
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_UserProfile -> django_contrib_auth_base_user_AbstractBaseUser
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_UserNotification -> olympia_users_models_UserProfile
[label=" user (notifications)"] [arrowhead=none, arrowtail=dot, dir=both];
olympia_users_models_UserNotification -> olympia_amo_models_ModelBase
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_DeniedName -> olympia_amo_models_ModelBase
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_IPNetworkUserRestriction -> olympia_users_models_RestrictionAbstractBaseModel
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_EmailUserRestriction -> olympia_users_models_RestrictionAbstractBaseModel
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_DisposableEmailDomainRestriction -> olympia_users_models_RestrictionAbstractBaseModel
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_FingerprintRestriction -> olympia_users_models_RestrictionAbstractBaseModel
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_UserRestrictionHistory -> olympia_users_models_UserProfile
[label=" user (restriction_history)"] [arrowhead=none, arrowtail=dot, dir=both];
olympia_users_models_UserRestrictionHistory -> olympia_amo_models_ModelBase
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_UserHistory -> olympia_users_models_UserProfile
[label=" user (history)"] [arrowhead=none, arrowtail=dot, dir=both];
olympia_users_models_UserHistory -> olympia_amo_models_ModelBase
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_BannedUserContent -> olympia_users_models_UserProfile
[label=" user (content_disabled_on_ban)"] [arrowhead=none, arrowtail=none, dir=both];
olympia_bandwagon_models_Collection [label=<
<TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">Collection</FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_BannedUserContent -> olympia_bandwagon_models_Collection
[label=" collections (bannedusercontent)"] [arrowhead=dot arrowtail=dot, dir=both];
olympia_addons_models_Addon [label=<
<TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">Addon</FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_BannedUserContent -> olympia_addons_models_Addon
[label=" addons (bannedusercontent)"] [arrowhead=dot arrowtail=dot, dir=both];
olympia_addons_models_AddonUser [label=<
<TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">AddonUser</FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_BannedUserContent -> olympia_addons_models_AddonUser
[label=" addons_users (bannedusercontent)"] [arrowhead=dot arrowtail=dot, dir=both];
olympia_ratings_models_Rating [label=<
<TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
<TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
<FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">Rating</FONT>
</TD></TR>
</TABLE>
>]
olympia_users_models_BannedUserContent -> olympia_ratings_models_Rating
[label=" ratings (bannedusercontent)"] [arrowhead=dot arrowtail=dot, dir=both];
olympia_users_models_BannedUserContent -> olympia_amo_models_ModelBase
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_SuppressedEmail -> olympia_amo_models_ModelBase
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
olympia_users_models_SuppressedEmailVerification -> olympia_users_models_SuppressedEmail
[label=" suppressed_email (suppressed_email)"] [arrowhead=none, arrowtail=none, dir=both];
olympia_users_models_SuppressedEmailVerification -> olympia_amo_models_ModelBase
[label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
}](../../../_images/graphviz-4cb655f434347c3325203201e13eeed80c87342d.png)
Click on the diagram to pan/zoom