私は、ユーザーがログインしたときに、彼が以前に所有物と特定した原料(アイテム)に基づいて彼に適用されるレシピを選択するコードを持っています。バックエンドでjavascript配列とdjangoを同じフォーマットにするにはどうすればよいですか?
このコードは、ユーザーがすでに持っているアイテムのIDの取得:
if request.user.is_authenticated():
user_items = [possession.item for possession in request.user.possession_set.all()]
user_items_ids = [item.id for item in user_items]
uids = set(user_items_ids)
すでに私が問題に実行します。ここで、ある存在していた次のコードを、...
recipes = [(recipe, len(set([item.id for item in recipe.items.all()]) & uids), recipe.votes) for recipe in recipes]
私が作成しましたまだサインアップしていない人々がいくつかの食材を選ぶことを可能にするサイトの別の部分。私は、フロントエンドにいくつかのjQueryを使ってこれを行う、その後、バックエンドに結果を送信:
uids = request.GET['ingredients']
I:
var ingredient_set = [];
$('.temp_ingredient').each(function(index){
ingredient_set[index] = $(this).attr('id').substr(4);
});
$.get('/recipes/discover', { 'ingredients': ingredient_set },
function(){
alert("Success");
});
問題は、私はこのコードで、Djangoの側にそれらを受け取るときであります次のエラーを取得する:
unsupported operand type(s) for &: 'set' and 'unicode'
は基本的に、私は、彼らが同じ形式でないけど、私は彼らが互換性を持つように取得する方法がわかりません。
恐ろしい!これは素晴らしい作品です。 – gohnjanotis