南を使用してデータの移行を行っていますが、select_relatedを使用して多くのデータを取得します多くのフィールド。djangoの多くのフィールドをselect_relatedするか、.all()を使用して多くのフィールドにアクセスする方法
ドキュメントでは、select_relatedをForeignKeyを使用してリレーションシップのあるフィールドに使用できるように指定しています...私はManyToManyフィールドで正しく動作しないとは思わないでしょうか?
私のフィールドは空白= nullですが、ドキュメントではまだselect_related( 'field_name')を呼び出すことができ、関連する関係を引き出すと言います。私は...この下のリストは、クエリセット内のアイテムで
をやろうとしているときはまだ
for listing in RealEstateListing.objects.all():
listing_type_slug_url = slugify(listing.listing_type.name)
sub_type = orm.SubType.objects.get(slug_url=listing_type_slug_url)
pricing_option = PricingOption.objects.get(name=listing.pricing_option.name)
lt = orm.Listing(listing_type=sub_type.parent,
sub_type=sub_type,
expiration_date=listing.expiration_date,
title=listing.title,
slug_url = listing.slug_url,
description = listing.description,
contact_person=listing.contact_person,
secondary_contact=listing.secondary_contact,
address=listing.address,
location=listing.location,
price=listing.price,
pricing_option=pricing_option,
display_picture=listing.display_picture,
image_gallery=listing.image_gallery,
date_added=listing.date_added,
status=listing.status,
featured_on_homepage=listing.featured_on_homepage,
)
lt.save()
lt.features.clear()
if listing.property_features:
property_features = listing.property_features.all()
else:
property_features = None
if property_features:
for ft in property_features:
ft_ = Feature.objects.get(name=ft.name)
lt.features.add(ft_)
私は利用できるが、それは、フィールドproperty_featuresを解決できないことを私に言って...エラーが出ますフィールドはidだけ&の名前です...それは関係を引っ張っていないようです。
私の他の質問は、select_relatedを使用して多数のフィールドから多数のフィールドにアクセスすることができない場合です。
---------------------------------------------- --EDIT ----------------------------------------
私は私がデータ移行を行うために使っていた南の偽のormへの言及。私は基本的に私は問題を抱えているし、どこのコードは、上記の最後の部分がある古いRealEstateListings
からのデータを使用して新しいリストオブジェクトを作成するループのために、すべてのRealEstateListingsオブジェクトを取っているとやって
上記のエラーを、以前のRealEstateListingモデルの多対多フィールドのproperty_featuresで返します。
こんにちは、上の私の編集を参照して、私は南の偽のormへの参照を削除しました。オブジェクト – Rasiel
ありがとう、これは私が何も間違っているように見えなくなってしまっています。私は後者のコードサンプルをやっていません。私は後でトレースバックを投稿します。 – Rasiel