Tengo un modelo en aplicaciones de personal, como este,
class Crew(models.Model):
nik = models.CharField(max_length=20)
name = models.CharField(max_length=30)
phone = models.CharField(max_length=20)
isActive = models.NullBooleanField(verbose_name="Active")
class Meta:
ordering = ("name",)
def __str__(self):
return self.name
También estoy creando modelos en aplicaciones de vehículos, como este:
from personnel.models import Crew
class Vehicle(models.Model):
plateNumber = models.CharField(max_length=10)
regDate = models.DateField(verbose_name="Date")
driver = models.ForeignKey(Crew, on_delete=models.CASCADE)
def __str__(self):
return self.plateNumber
ahora quiero obtener una lista de controladores, donde isActive = True en mi búsqueda. ¿Cómo puedo hacer esto?
Esto es lo que quiero decir:
Respuestas
2 para la respuesta № 1Necesitas personalizar la parte de administrador en tu aplicación.
class VehicleAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "driver":
kwargs["queryset"] = Crew.objects.filter(isActive=True)
return super(VehicleAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
admin.site.register(Vehicle, VehicleAdmin)