제품 및 특성에 대해 사용자 지정 중간 테이블을 사용하고 싶습니다. 나는 다음과 같은 모델은 내가 이름을 얻고있다Django ManyToMany 관계 사용자 정의 중간 테이블을 사용하는 QuerySet
{% for attribute in product.attributes.all %}{{ attribute.name }}: {{ attribute.value }} {% endfor %}
을 말함으로써 뷰에서
class Products(models.Model):
name = models.CharField(max_length=600, blank=True)
brand = models.CharField(max_length=300, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Attributes(models.Model):
name = models.CharField(max_length=600)
product = models.ManyToManyField(Products, through="AttributesMapping", related_name="attributes")
class AttributesMapping(models.Model):
attribute = models.ForeignKey(Attributes)
product = models.ForeignKey(Products)
value = models.TextField(blank=True)
문맥과 속성을 얻으려고 노력 템플릿에서 제품 객체를 추가, 정의하지만, 값이 showup하지 않습니다 . SQL 문 실행을 검사 해 보았습니다.
SELECT `attributes`.`id`, `attributes`.`name` FROM `attributes` INNER JOIN `attributes_mapping` ON (`attributes`.`id` = `attributes_mapping`.`attribute_id`) WHERE `attributes_mapping`.`product_id` = 1
값이 'attributes_mapping'테이블에 있고, Select 문에 참조가 있지만 해당 필드를 선택하지 않았습니다.
미리 도움을 청하십시오.
쿼리 세트를 작성하는 코드를 보여주십시오. 문제가있을 수 있습니다. – jknupp
보기에서 나는이'product = products.objects.get (url = product_url)'과'return render ('template.html', {product : product})' – san