I have an admin form that is rather long (many models, over 150 fields). I use TabularInlines for most of these. I am unable to adjust width of various fields to reduce the overall width of the form. Since django-grappelli overrides widths specified in forms.py, the recommended way is to use css to adjust field width.
Something like this works for text fields #member_set-group .grp-td.education_level .vTextField { width: 20em; } And this for integer fields: #member_set-group .grp-td.literacy_status .vIntegerField { width: 5em; } I do not know what to use in place of .vTextField and .vIntegerField for fields that have a dropdown menu (either ChoiceFields, or dropdown menu coming from a ForeignKey relationship. For example, the 'sex' and 'relationship' fields in the model below. ---------- class member(models.Model): sno = models.ForeignKey(Household) person_number = models.IntegerField() name = models.CharField(max_length= 150) sex_choices = ( ('M','Male'), ('F','Female'), ) sex = models.CharField(max_length=3,choices=sex_choices) age = models.CharField(max_length=30,blank=True) relationship = models.ForeignKey(CodeRelationship, blank=True, null=True, on_delete=models.SET_NULL) nearest_relative_member = models.IntegerField("Person number of nearest member relative", blank=True,null=True) nearest_relative_name_if_non_member = models.CharField("Name of nearest relative, if not a household member",max_length=4,blank=True) marital_status_choices = ( (1, 'Single'), (2, 'Currently married'), (3, 'Divorced/separated'), (4, 'Widowed'), ) marital_status = models.IntegerField(choices=marital_status_choices,blank=True) literacy_status = models.IntegerField(null=True, blank=True) education_level = models.CharField(max_length=150, blank=True) name_and_location_educational_institution = models.ForeignKey(CodeEducationInstitution, blank=True, null=True, on_delete=models.SET_NULL) comments = models.CharField(max_length=600, blank=True) ---------- I also tried assigning custom css classes to each of the widgets in forms.py as follows: ---------- class HouseholdMemberForm(forms.ModelForm): class Meta: widgets = { 'person_number': forms.TextInput(attrs={'class': 'wide5'}) , 'name': forms.TextInput(attrs={'class': 'wide15'}) , 'sex': forms.ChoiceField(attrs={'class': 'wide5'}) , 'age': forms.TextInput(attrs={'class': 'wide5'}) , 'nearest_relative_member': forms.TextInput(attrs={'class': 'wide5'}) , 'nearest_relative_name_if_non_member': forms.TextInput(attrs={'class': 'wide5'}) , 'marital_status': forms.TextInput(attrs={'class': 'wide5'}) , 'literacy_status': forms.TextInput(attrs={'class': 'wide5'}) , 'education_level': forms.TextInput(attrs={'class': 'wide15'}) , 'comments': forms.TextInput(attrs={'class': 'wide5'}) } --------- If I could set the width of all fields with css class wide5 to 5em, the job will become much simpler, since I would not need to specify width to each field individually. But the following has no effect. #member_set-group .wide5 { width: 35px; padding: 1px; } Would appreciate if somebody could guide me here. VR -- 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 http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/0a5b7df7-5410-4c8c-9e05-c1615dcca7b0%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.