如何使用Python生成long类型的UUID(64位 - 由java程序使用)?
我读到了 UUID模块.所以我玩了一下:
>>> import uuid
>>> uuid.uuid1().int
315596929882403038588122750660996915734L
Run Code Online (Sandbox Code Playgroud)
为什么uuid.uuid1().int生成的整数末尾有一个" L "?如果它是一个整数,它不应该由纯数组成吗?
另外根据文档uuid.uuid1().int将生成一个128位整数.我需要一个long类型的整数(对于java程序),这意味着它需要是64位.是否可以生成64位而不是128位的UUID?
另一个问题是,根据Python文档,Python int是32位,而Python long具有" 无限精度"." 无限精度 "是什么意思?我需要一个64位长的int - 这将是什么类型的Python?
编辑: 感谢大家的回复.看起来UUID的定义是128位.在那种情况下,我可能不应该使用术语UUID.我想要做的是生成一个长(64位)类型的唯一ID.我以为UUID会做这个工作,但看起来不行.
我需要该ID作为Solr搜索引擎的文档ID.我正在使用实时索引Solr插件Zoie.根据文档," Zoie假设每个要编入索引的记录必须具有唯一的密钥和类型为long的记录. "
所以鉴于这就是我需要的,你知道我能做些什么来生成long类型的唯一ID吗?
谢谢!
我有一个MySQL表:
CREATE TABLE documents (
id INT NOT NULL AUTO_INCREMENT,
language_code CHAR(2),
tags CHAR(30),
text TEXT,
PRIMARY KEY (id)
);
Run Code Online (Sandbox Code Playgroud)
我有2个关于Solr DIH的问题:
1)该langauge_code字段表示该字段所使用的语言text.根据语言,我想索引text不同的Solr字段.
# pseudo code
if langauge_code == "en":
index "text" to Solr field "text_en"
elif langauge_code == "fr":
index "text" to Solr field "text_fr"
elif langauge_code == "zh":
index "text" to Solr field "text_zh"
...
Run Code Online (Sandbox Code Playgroud)
DIH可以处理这样的用例吗?如何配置它?
2)该tags字段需要索引到Solr multiValued字段.多个值存储在字符串中,以逗号分隔.例如,如果tags包含字符串"blue, green, yellow",然后我要编制索引的3个值"blue","green","yellow" …
我有一个Product数据库表,其中包含product_id、price和 等列inventory_count。
用户点击以特定价格购买特定产品。我的程序生成一个确认页面,列出产品和价格。一切正常,用户单击“确认”。我的程序更新inventory_count该产品的 ,并向用户的信用卡收取产品 中列出的金额price。
但在确认页面生成之后、用户点击“确认”之前的这段时间里,该产品的价格已经发生了变化。因此,用户可能在确认页面中看到价格为 10 美元,但在他单击“确认”后,price产品表中的价格已更改为 11 美元,这就是他将被收取的费用。
处理这种情况的最佳方法是什么?如果相关的话,我正在使用 MySQL 和 Python。
我正在构建一个Django站点.我需要模拟许多不同的产品类别,如电视,笔记本电脑,女士服装,男鞋等.
由于不同的产品类别具有不同的产品属性,因此每个类别都有自己独立的模型:TV, Laptop, WomensApparel, MensShoes,等
对于每个模型,我创建了一个ModelForm.因此我有TVForm, LaptopForm, WomensApparelForm, MensShoesForm,等等
用户可以通过多级下拉框选择产品类别来输入产品详细信息.用户选择产品类别后,我需要显示相应的产品表单.
显而易见的方法是使用一个巨大的if-elif结构:
# category is the product category selected by the user
if category == "TV":
form = TVForm()
elif category == "Laptop":
form = LaptopForm()
elif category == "WomensApparel":
form = WomensApparelForm()
...
Run Code Online (Sandbox Code Playgroud)
不幸的是,如果不是更多类别,可能会有数百个.因此,上述方法容易出错且繁琐.
有没有什么方法可以使用变量的值category直接选择和初始化适当的ModelForm而不诉诸巨大的if-elif声明?
就像是:
# This doesn't work
model_form_name = category + "Form"
form = model_form_name()
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
2.6之前Linux每隔几年从2.0上升到2.2到2.4.它为什么停在2.6?
版本号是否会超过2.6?
python ×3
consistency ×1
database ×1
django ×1
django-forms ×1
e-commerce ×1
git ×1
github ×1
guid ×1
java ×1
linux ×1
linux-kernel ×1
long-integer ×1
multilingual ×1
mysql ×1
patch ×1
solr ×1
uuid ×1