0
私はdjangoに取り組んでおり、問題に固執しています。私はそのタイムスタンプproduct_sync_tsより大きいテーブル製品から製品のすべてのIDを取得しようとしていますdjangoで 'long'オブジェクトに属性 'id'エラーがありません
tz = pytz.timezone('Asia/Kolkata')
product_sync_ts= datetime.now(tz)
product_sync_ts = "2016-03-10 14:41:48.901013+05:30"
product = Product.objects.filter(update_ts__lt=product_sync_ts , enabled_flag = True ,).values_list('id', flat=True)
product_upcs = ProductUPC.objects.filter(update_ts__lt = product_sync_ts , enabled_flag=True).values_list('product' , flat=True)
print product
print product_upcs
:これはviews.pyためのコードスニペットです。テーブルProductUPCでも同じことをしています。
productUPCモデル
class ProductUPC(models.Model):
product = models.ForeignKey('Product', related_name='upcs')
upc = models.CharField(max_length=20, unique=True, null=False)
install_ts = models.DateTimeField(auto_now_add=True)
update_ts = models.DateTimeField(auto_now=True)
enabled_flag = models.BooleanField(default=True)
製品モデル
class Product(models.Model):
name = models.TextField()
price = models.IntegerField()
enabled_flag = models.BooleanField(default=True)
install_ts = models.DateTimeField(auto_now_add=True)
update_ts = models.DateTimeField(auto_now=True)
私は取得していますエラーは次のとおりです。
'long' object has no attribute 'id'
Request Method: GET
Request URL: http://127.0.0.1:8000/products/
Django Version: 1.8
Exception Type: AttributeError
Exception Value:
'long' object has no attribute 'id'
トレースバック:
/Users/folder/venv/lib/python2.7/site-packages/django/core/handlers/base.py in get_response
response = middleware_method(request, callback, callback_args, callback_kwargs)
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs) ...
except Exception as e:
# If the view raised an exception, run it through exception
# middleware, and if the exception middleware returns a
# response, use that. Otherwise, reraise the exception.
for middleware_method in self._exception_middleware:
response = middleware_method(request, e)
私はupdate_tsをstringに変換できませんか? –
私はあなたの質問を理解していません。個々の 'update_ts'値を文字列に変換することはできますが、django ORMクエリを行うために文字列形式を使うことはできません。 –
ええ、そういう愚かな質問に申し訳ありません;) –