Re: Select2 field breaks in admin when extending change_form.html

2019-04-18 Thread Jason Burke
Greetings,

I'm not sure I was clear earlier, so I'll reword the problem again here...

*Issue/Problem/Bug:* Extending the admin/change_form.html template in order 
to modify the .form-row style causes the autocomplete (Select2) and raw id 
widgets to stop working as documented.

*Problem behavior*: The autocomplete widget stops populating the drop down 
box, and the raw id widget search icon redirects to the parent objects list 
display instead of opening up a separate selection window.

*Test:* To reproduce the issue, follow the test case I included above.

*Questions:* Is this a bug? Can others reproduce the issue? How to fix it 
without modifying the default admin templates or css files?



On Thursday, April 18, 2019 at 1:12:38 PM UTC-5, Julio Cojom wrote:
>
> Hi sir,
>
> There is a library exclusive for admin, his name it's something like 
> select2 admin , search it, I used it a couple times and only requires that 
> you add it to your settings.py 
>
> Regards!
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/c709ad80-6c7f-4dfd-ba85-adbf0b6364ba%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Select2 field breaks in admin when extending change_form.html

2019-04-18 Thread Julio Cojom
Hi sir,

There is a library exclusive for admin, his name it's something like
select2 admin , search it, I used it a couple times and only requires that
you add it to your settings.py

Regards!

On Thu, Apr 18, 2019, 11:51 AM Jason Burke  wrote:

> Greetings all,
>
> I'm working on a project, and I didn't like the default solid grey lines
> in each form-row, so I extended the change_form.html to remove them.
> However, in doing so, the autocomplete select2 field broke (raw_id_fields
> breaks as well). I've been looking for a workaround on this issue, and I
> don't know if it's a bug or not. If anyone has a workaround, I would
> appreciate hearing what it is (though I would prefer not to modify any
> files in the Django package). And, if anyone wants to replicate the issue,
> I've included a test case below, but please let me know if I forgot
> anything.
>
> Any thoughts or help is greatly appreciated.
>
> Regards,
>
> Jason
>
>
>
> *Autocomplete_fields with **extended** change_form.html test*
>
> 1. Install Python (I have version 3.7.2 64 bit installed on Windows 10
> Pro).
>
>
> 2. Run the following commands in your working directory:
>
> a. mkdir djangotest.
>
> b. cd bugtest
>
> c. python -m venv venv
>
> d. .\venv\scripts\activate
>
> e. django-admin startproject bugtest .
>
> f.  python manage.py startapp testing
>
> g. python manage.py migrate
>
>
>
> 3. Update installed apps settings in .\djangotest\bugtest\settings.py
>
> INSTALLED_APPS = [
> 'testing.apps.TestingConfig',
> # leave default apps...
> ]
>
>
> 4. Change .\djangotest\testing\models.py to the following:
>
> from django.db import models
>
> class Question(models.Model):
> question_text = models.CharField(max_length=200)
> pub_date = models.DateTimeField('date published')
>
> def __str__(self):
> return self.question_text
>
>
> class Choice(models.Model):
> question = models.ForeignKey(Question, on_delete=models.CASCADE)
> choice_text = models.CharField(max_length=200)
> votes = models.IntegerField(default=0)
>
> def __str__(self):
> return self.choice_text
>
>
> 5. Change .\djangotest\testing\admin.py to the following:
>
> from .models import Question, Choice
>
>
> class QuestionAdmin(admin.ModelAdmin):
> ordering = ['pub_date']
> search_fields = ['question_text']
>
>
> class ChoiceAdmin(admin.ModelAdmin):
> autocomplete_fields = ['question']
> #raw_id_fields = ('question',)
>
>
> admin.site.register(Question, QuestionAdmin)
> admin.site.register(Choice, ChoiceAdmin)
>
>
>
> 6. Run the following commands:
>
> a. python manage.py migrate
>
> b. python manage.py makemigrations testing
>
> c. python manage.py migrate testing
>
> d. python manage.py createsuperuser (enter in info for testing superuser).
>
> e. python manage.py runserver
>
>
>
> 7. Open http://127.0.0.1:8000/admin/testing/choice/add/ in browser (I'm
> using Chrome version 73.0.3683.103 (Official Build) (64-bit)).
>
>
> 8. Verify that the foreign key field (question) is working as expected.
>
>
> 9. Create the following directories: .\djangotest\testing\templates,
> .\djangotest\testing\templates\admin
>
>
> 10. Create change_form.html file in .\djangotest\testing\templates\admin
> with the following information:
>
> {% extends "admin/change_form.html" %}
> {% block extrahead %}
> 
> .form-row {
> border-bottom: none;
> }
> 
> {% endblock %}
>
>
> 11. Reload http://127.0.0.1:8000/admin/testing/choice/add/ in browser.
>
>
> 12. Verify that foreign key field (question) is not working as expected.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/e8a43eae-2f3c-4d6a-848b-02e3cce11ab1%40googlegroups.com
> 
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAHRQUH%3DDCnS0ok-GBtPqudohUsSLrm54riQtp_-w-pG5SESzxQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Select2 field breaks in admin when extending change_form.html

2019-04-18 Thread Jason Burke
Greetings all,

I'm working on a project, and I didn't like the default solid grey lines in 
each form-row, so I extended the change_form.html to remove them. However, 
in doing so, the autocomplete select2 field broke (raw_id_fields breaks as 
well). I've been looking for a workaround on this issue, and I don't know 
if it's a bug or not. If anyone has a workaround, I would appreciate 
hearing what it is (though I would prefer not to modify any files in the 
Django package). And, if anyone wants to replicate the issue, I've included 
a test case below, but please let me know if I forgot anything.

Any thoughts or help is greatly appreciated.

Regards,

Jason



*Autocomplete_fields with **extended** change_form.html test*

1. Install Python (I have version 3.7.2 64 bit installed on Windows 10 Pro).


2. Run the following commands in your working directory:

a. mkdir djangotest.

b. cd bugtest

c. python -m venv venv

d. .\venv\scripts\activate

e. django-admin startproject bugtest .

f.  python manage.py startapp testing

g. python manage.py migrate



3. Update installed apps settings in .\djangotest\bugtest\settings.py

INSTALLED_APPS = [
'testing.apps.TestingConfig',
# leave default apps...
]


4. Change .\djangotest\testing\models.py to the following:

from django.db import models

class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')

def __str__(self):
return self.question_text


class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)

def __str__(self):
return self.choice_text


5. Change .\djangotest\testing\admin.py to the following:

from .models import Question, Choice


class QuestionAdmin(admin.ModelAdmin):
ordering = ['pub_date']
search_fields = ['question_text']


class ChoiceAdmin(admin.ModelAdmin):
autocomplete_fields = ['question']
#raw_id_fields = ('question',)


admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice, ChoiceAdmin)



6. Run the following commands:

a. python manage.py migrate

b. python manage.py makemigrations testing

c. python manage.py migrate testing

d. python manage.py createsuperuser (enter in info for testing superuser).

e. python manage.py runserver



7. Open http://127.0.0.1:8000/admin/testing/choice/add/ in browser (I'm 
using Chrome version 73.0.3683.103 (Official Build) (64-bit)). 


8. Verify that the foreign key field (question) is working as expected.


9. Create the following directories: .\djangotest\testing\templates, 
.\djangotest\testing\templates\admin


10. Create change_form.html file in .\djangotest\testing\templates\admin 
with the following information:

{% extends "admin/change_form.html" %}
{% block extrahead %}

.form-row {
border-bottom: none;
}

{% endblock %}


11. Reload http://127.0.0.1:8000/admin/testing/choice/add/ in browser.


12. Verify that foreign key field (question) is not working as expected.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/e8a43eae-2f3c-4d6a-848b-02e3cce11ab1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.