Имам модел в персонални приложения, като този,
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
Също така създавам модели в приложения за превозни средства, като това:
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
Сега искам да получа списък на драйвери, където isActive = True в моя търсене. Как мога да направя това?
Това имам предвид:
Отговори:
2 за отговор № 1трябва да персонализирате административната част в приложението ви.
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)