Учитывая Джанго 1.8, Python 2.7.5, PostgreSQL и следующие общие модели:Сравнение двух полей, так из двух отдельных моделей
class restAPI(models.Model):
rest_id = models.CharField(max_length=20)
rest_host = models.CharField(max_length=20)
rest_mode = models.CharField(max_length=20)
rest_state = models.CharField(max_length=20)
class soapAPI(models.Model):
soap_id = models.CharField(max_length=20)
soap_host = models.CharField(max_length=20)
soap_asset = models.CharField(max_length=20)
soap_state = models.CharField(max_length=20)
В идеальном мире soapAPI.soap_host
и restAPI.rest_host
будет соответствовать отлично. Однако это редко бывает. Я пытаюсь найти и вернуть любые хосты, которые присутствуют в soapAPI, которые не находятся в restAPI. У меня есть рабочий метод, в котором я разбираю эти данные с помощью python, прежде чем сохранять его в своей собственной модели в django, но я должен полагать, что я могу это сделать, используя сами модели (что, я думаю, будет более эффективным) ,
Как можно вернуть модель soapAPI
ВЕСЬ где soapAPI.soap_host
отсутствует в restAPI.rest_host
с использованием ORM предоставленной Джанго или использованием .raw()
, предпочтительно с ORM? Любая помощь будет очень благодарна, поскольку это опыт обучения для меня. Заранее спасибо.
EDIT1
Полностью открыт для моделирования отношений как какая-то форма ответа, а также.
EDIT2
Оставляя открытым, я должен верить, что есть лучший способ сделать это, чем несколько querysets.
EDIT3
Кроме того, есть ли способ сделать muiltiple __in
«с или что-то? Мне действительно нужно вернуть всю модель soapAPI
, где soapAPI.soap_host
отсутствует в restAPI.rest_host
ИsoapAPI.soap_state
is 'Live'.
по какой-то причине я получаю это: 'FieldError: не удается разрешить ключевое слово 'rest_host' в поле. Возможны следующие варианты: id, soap_asset, soap_host, soap_id, soap_state' – beardedeagle
Выяснил это и меньше кода. См. Мой ответ. Спасибо за то, что вы начали меня, но вы помогли сыграть важную роль. теперь, если бы я мог только выяснить, как это сделать в одном наборе запросов. – beardedeagle
Я не вижу ответа O.o – HassenPy