나는 간단한이 같은 쿼리에 가입 할Sqlalchemy 일대 다 관계에 참여 하시겠습니까?
SELECT food._id, food.food_name, food_categories.food_categories FROM food JOIN food_categories ON food.food_category_id = food_categories._id
을 시도하지만 오류를 수신 유지하고있다. 다음은 클래스가 설정되는 방법입니다.
class Food_Categories(db.Model):
__tablename__ = 'food_categories'
_id = db.Column(db.Integer, primary_key=True)
food_categories = db.Column(db.String(30))
class Food(db.Model):
__tablename__ = 'food'
_id = db.Column(db.Integer, primary_key=True)
food_name = db.Column(db.String(40))
food_category_id = db.Column(db.Integer, ForeignKey(Food_Categories._id))
food_category = relationship("Food_Categories")
내 쿼리 함수는 다음과 같습니다.
@app.route('/foodlist')
def foodlist():
if request.method == 'GET':
results = Food.query.join(Food_Categories.food_categories).all()
json_results = []
for result in results:
d = {'_id': result._id,
'food': result.food_name,
'food_category': result.food_categories}
json_results.append(d)
return jsonify(user=json_results)
나는 플라스크를 사용하고 있습니다. 내가이 길을 부르면 나는이 오류를 얻는다.
AttributeError: 'ColumnProperty' object has no attribute 'mapper'
나는 기본적으로이 원하는 :
| id | food_name | food_category |
을 다른 테이블에있는 식품 카테고리의 실제 이름으로 대체 food_category_id 열 수 있습니다.
테이블/관계를 올바르게 설정 했습니까? 내 쿼리가 올바르게 설정 되었습니까?
'증상'이란 무엇입니까? – ACV
죄송합니다. 입력했습니다. 그것은 음식이기로되어있다. – user3502585