Ich möchte dem Administrator ermöglichen, Daten von einem Drittanbieterdienst zu importieren. Um das zu tun, möchte ich alle möglichen Dinge auflisten, die im Admin-Panel importiert werden sollen, und dem Administrator erlauben zu wählen, was importiert werden soll.
Hier ist, was ich versuche zu tun: überWie erstelle ich eine benutzerdefinierte Datenquelle in Django?
class Movie(models.Model):
title = #...
length = #...
#...
class ImportManager(models.Manager):
def all(self):
# what should go here?
class MovieImporter(Movie):
objects = ImportManager()
class Meta:
proxy = True
verbose_name_plural = verbose_name = 'Import Movies'
admin.site.register(Movie)
admin.site.register(ImportMovie)
Ich bin verwirrt, wie kann ich ein QuerySet von ImportManager.all zurück, wenn nicht dort sogar Datenbank ist und es ist nicht von der Dokumentation klar ist es möglich, nur um eine Liste von Objekten an QuerySet zu übergeben. Irgendwelche Ideen?
Meine Zusammenfassung von dem, was Sie wollen: eine neue Modellklasse mit einer externen, wahrscheinlich nur lesbaren, "Datenbank" als Backend implementiert. Ich stelle mir auch vor, dass Sie die Filme in Ihre Hauptdatenbank importieren möchten? Ein separater 'ImportManager' in der 'Movie'-Klasse scheint mir eher das zu sein, was Sie wollen -' Movie.import_objects' oder ähnliches. –
@ChrisMorgan, ja, das möchte ich machen. Aber 'ImportManager' in einem' Film' zu haben, würde es mir nicht erlauben, eine Liste von möglichen Importen separat im Admin-Panel anzuzeigen. Das Problem besteht darin, diese möglichen Importe an Admin zu zeigen, nicht die Importe selbst. – Andrew