ubottu-web/ubottu/factoids/admin.py

27 lines
1.1 KiB
Python
Raw Permalink Normal View History

2024-03-25 09:42:15 +00:00
from django.contrib import admin
from django.forms import ModelForm, Textarea
from .models import Fact
from .forms import FactForm
class FactAdmin(admin.ModelAdmin):
2024-06-08 17:26:35 +00:00
list_display = ('name', 'value', 'ftype', 'create_date', 'change_date', 'room', 'author', 'popularity')
list_filter = ('ftype', 'create_date', 'author', 'room') # Fields to add filters for
search_fields = ('name', 'value', 'room')
2024-03-25 09:42:15 +00:00
form = FactForm
def get_form(self, request, obj=None, **kwargs):
# Check if an instance is being added (obj is None) to exclude 'author_id' field
if obj is None: # This means a new instance is being created
self.exclude = ('author',)
else: # Editing an existing instance
self.exclude = []
form = super(FactAdmin, self).get_form(request, obj, **kwargs)
return form
def save_model(self, request, obj, form, change):
if not obj.pk: # Indicates a new instance
# Automatically set 'author_id' to current user for new instances
obj.author_id = request.user.id
super().save_model(request, obj, form, change)
admin.site.register(Fact, FactAdmin)