Используйте функцию callback()
внутри успеха foo()
. Попробуйте таким образом. Это просто и легко понять. & nbsp;
var lat = "";
var lon = "";
function callback(data) {
lat = data.lat;
lon = data.lon;
}
function getLoc() {
var url = "http://ip-api.com/json"
$.getJSON(url, function(data) {
callback(data);
});
}
getLoc();
Ошибка связана с тем, что вы установили связь с NewsletterInfo
, а не Newsletter
, поэтому это, очевидно, тот тип, который ожидает коллекция.
Связывание «многие-ко-многим» с метаинформацией не редкость. Чтобы продолжить использовать его, как если бы это были регулярные отношения через User.newsletters
, вам нужно будет установить прокси-сервер . Посмотрите на первый пример. Важными частями являются следующие:
class User(db.Model):
# ...
newsletters = association_proxy('user_newsletters', 'newsletter')
class NewsletterInfo(db.Model):
# ...
user = relationship(User, backref=backref("user_newsletters"))
newsletter = relationship("Newsletter")