-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow create user plans on Django Admin #43
Comments
Hi there @eduardo-matos, Currently you can manually create a As an aside: in order for this to work, you need at one plan marked as "default" plan. That way, all created users will immediately be assigned this plan after creation. |
I have some users that were created before including the django-plans app. The only way I can associate these users with an userplan is by editing via shell, which I was trying to avoid. My idea was to create a new userplan manually (via admin page), choosing an existing user in the "create userplan" page. Since the "user" field is omitted, There is no way to do that. |
A quick fix is to override UserPlan inside your admin from plans.models import UserPlan
from plans.admin import UserPlanAdmin
class UserPlanMyAdmin(UserPlanAdmin):
fields = ('user', 'plan', 'expire', 'active')
admin.site.unregister(UserPlan)
admin.site.register(UserPlan,UserPlanMyAdmin) |
Having user editable/writeable on the admin has one annoying con as well, which is when there are many users and simply loading them in a "select" html widget will cause load, especially when there are many users in the database. If Django admin had a default feature to have a search-friendly select box for related field it would be much easier. To learn more about this problem you may have a look at https://stackoverflow.com/questions/14912872/django-admin-dropdown-of-1000s-of-users. To solve such issue there are:
My vote for the second option which is using raw_id_fields in admin panel. The solution provided by @maxpaynestory is also an hack that can be done as well, but still will have the same problem that I described. I am open for any suggestion here and would love to discuss it. |
For the problem with users created prior introducing for user in UserProfile.objects.filter(userplan=None):
UserPlan.objects.create(user=user, plan=Plan.objects.get(default=True)) Although there might be other cases, when the manual editation of UserPlans would be needed. |
An complete fix here is to use @maxpaynestory solution with Django 2+ autocomplete.
|
Currently there is no way to create a user plan on Django Admin. The
user
field should be displayed.This functionality is good for manual registration.
The text was updated successfully, but these errors were encountered: