INSTALL
Put altuser in INSTALLED_APPS
INSTALLED_APPS += (
'altuser',
)
and configure your preferred user model from available altuser/models.py, for example
AUTH_USER_MODEL = 'altuser.MailSocialUser'
Available models
MailUser
MailSocialUser
MailConfirmedUser
MailConfirmedSocialUser
MailSocialConfirmfollowUser
MailConfirmedSocialConfirmfollowUser
USAGE
OneToOne
If you use this User model with another Profile model you should put this field on you Profile model
user = models.OneToOneField(settings.AUTH_USER_MODEL,
related_name='profile')
If you have multiple profile types, you should use User.get_profile() to get the right profile associated with this user, but you also must set
ALTUSER_PROFILES_BREL = ['profile']
to a list of backward relation names (relate_name), of various profiles you have. For example if you have two models, client and managers, associated with a OneToOneField to our user model, and they have different related_name, one client_profile and the other manager_profile, then ALTUSER_PROFILES_BREL must be [‘client_profile’, ‘manager_profile’]
GenericRelation
Actually you can also use the internal profile_type generic relation on the provided AbstractMailUser, that will permit you to coerce one profile type per user, it is up to you if using that or not.
# used in this way: self.user.get().usermodelfield user = generic.GenericRelation(settings.AUTH_USER_MODEL, content_type_field='profile_type', object_id_field='profile_id')
Generic relations in this way permits to have your user and profile in the same inline and for example in the admin:
from django.contrib import admin
from .models import MannequineProfile
from django.contrib.auth import get_user_model
from django.contrib.contenttypes import generic
class UserInline(generic.GenericTabularInline):
model=get_user_model()
extra=1
max_num=1
ct_field = 'profile_type'
ct_fk_field = 'profile_id'
exclude = ('last_login', 'is_staff', 'is_superuser',
'groups', 'user_permissions' ,'likes',
'follows')
class ProfileAdmin(admin.ModelAdmin):
inlines = [
UserInline,
]
admin.site.register(Profile, ProfileAdmin)
Note also, that if you delete an object that has a GenericRelation, any objects which have a GenericForeignKey pointing at it will be deleted as well. In the example above, this means that if a Profile object were deleted, any user objects pointing at it would be deleted at the same time.
Confirmed Models
for using the mail confirmed models you must use [django-mail_confirmation](http://v.licheni.net/drc/django-mail_confirmation.git)
to filter out users that has confirmed social relations you do something like this:
get_user_model().objects.filter(id=user.id, follows=otheruser, relations__confirmed__confirmed=True)
Metadata
Release files for django-altuser 0.9.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| django-altuser-0.9.5.tar.gz | 24.9 kB | Without provenance | Details |
Release files / django-altuser-0.9.5.tar.gz
| Download URL | django-altuser-0.9.5.tar.gz |
|---|---|
| Size | 24.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4cb290fdbbd2bbe4f0d7570f7f0c7caef684e900530c931993e3a003784b4ef0
|
|
BLAKE2b-256 checksum How to use checksums |
47374e3b7dca4bc5db5acb04fdd8419b9727f4a8fc895ffcd4b99c36479e4eda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for django-altuser 0.9.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.