我有这个问题:
some_id = 1
cursor.execute('
SELECT "Indicator"."indicator"
FROM "Indicator"
WHERE "Indicator"."some_id" = %s;', some_id)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
TypeError: 'int' object does not support indexing
Run Code Online (Sandbox Code Playgroud)
some_id是一个int,但是我想选择some_id = 1的指标(或者我决定放入变量的#).
我正在get_object_or_404
尝试从我的数据库中获取值列表.我正在尝试过滤get_object_or_404
状态变量的函数,只捕获与之关联的值disease_id
.下面的代码不起作用(它抓取状态表中的所有值.任何想法?
views.py
def option(request, disease_id, state_id):
state = get_object_or_404(State, relevantdisease=disease_id)
disease = get_object_or_404(Disease, pk=disease_id)
context = {'state': state, 'disease':disease }
return render(request, "option.html", context)
Run Code Online (Sandbox Code Playgroud)
models.py
class State(models.Model):
state = models.CharField(max_length=300, verbose_name='state')
relevantdisease = models.ForeignKey(Disease, verbose_name="disease")
Run Code Online (Sandbox Code Playgroud) 我在模板中渲染单个字段时遇到问题.我有一个自定义表单,呈现多重小部件和Charfield.我想单独渲染小部件和Charfield,所以我可以将Charfield放在小部件的右边而不是底部(这是Django默认做的).有没有办法在模板中调用表单中的各个字段?
forms.py
class UpdateStateOptionWithOutcomesForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
disease=kwargs.pop('disease', None)
super(UpdateStateOptionWithOutcomesForm, self).__init__(*args, **kwargs)
self.fields['relevantoutcome']=forms.ModelMultipleChoiceField(queryset=Outcome.objects.filter(relevantdisease_id=disease),required=True, widget=forms.CheckboxSelectMultiple)
self.fields['relevantoutcome'].label="Treatment Outcomes"
outcome_qs=Outcome.objects.filter(relevantdisease_id=disease)
for outcome in outcome_qs:
self.fields['outcomevalue_%s' % outcome.pk] = forms.CharField(required=False)
self.fields['outcomevalue_%s' % outcome.pk].label = "Outcome Value"
Run Code Online (Sandbox Code Playgroud) 我对Django很新,所以这可能是一个简单的问题.我有2个modelForms,其中有一个ForeignKey到另一个.我的主要目标是保存指标与疾病(FK)的链接,这样对于特定疾病,您可以有多个指标.
使用下面的代码,当我点击"管理框架数据丢失或被篡改"提交时,我收到错误.另外,views.py中的代码似乎没有在返回HttpResponseRedirect的第3个'if'语句中进行验证.但是,当我检查我的数据库时,表单中的值已被写入.有关错误原因的任何想法?以及如何解决它?
我的代码如下:
models.py
#Table for Disease
class Disease(models.Model):
disease = models.CharField(max_length=300)
#Tables for Indicators
class Indicator(models.Model):
relevantdisease = models.ForeignKey(Disease)
indicator = models.CharField(max_length=300)
Run Code Online (Sandbox Code Playgroud)
forms.py
class DiseaseForm(forms.ModelForm):
class Meta:
model = Disease
class IndicatorForm(forms.ModelForm):
class Meta:
model = Indicator
DiseaseFormSet = inlineformset_factory(Disease,
Indicator,
can_delete=False,
form=DiseaseForm)
Run Code Online (Sandbox Code Playgroud)
views.py
def drui(request):
if request.method == "POST":
indicatorForm = IndicatorForm(request.POST)
if indicatorForm.is_valid():
new_indicator = indicatorForm.save()
diseaseInlineFormSet = DiseaseFormSet(request.POST, request.FILES, instance=new_indicator)
if diseaseInlineFormSet.is_valid():
diseaseInlineFormset.save()
return HttpResponseRedirect('some_url.html')
else:
indicatorForm = IndicatorForm()
diseaseInlineFormSet = DiseaseFormSet()
return render_to_response("drui.html", {'indicatorForm': indicatorForm, …
Run Code Online (Sandbox Code Playgroud) 获取无效的块标记消息Invalid block tag on line 2: 'out'. Did you forget to register or load this tag?
但不知道原因.这是我的设置:
graphs.html
{% out %}
Run Code Online (Sandbox Code Playgroud)
views.py
out = 'something to say'
template = loader.get_template('viz_proj/graphs.html')
context = {
'out' : out
}
return HttpResponse(template.render(context, request))
Run Code Online (Sandbox Code Playgroud)
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'viz_proj'
]
Run Code Online (Sandbox Code Playgroud)
项目heirarchy
viz_proj
|
viz_proj----------------------------------------templates
| |
settings.py--views.py--urls.py graphs.html
Run Code Online (Sandbox Code Playgroud) 我有一些非常低效的代码,我想更通用/更高效.我试图从一组列表中创建字符串.
这是我目前拥有的:
#contains categories
numind = [('Length',), ('Fungus',)]
#contains values that pertain to the categories
records = [('Length', 'Long'), ('Length', 'Med'), ('Fungus', 'Yes'), ('Fungus', 'No')]
#contains every combination of values between the 2 categories.
#for example, (Long, Yes) = Length=Long & Fungus = Yes.
combinations = [('Long', 'Yes'), ('Long', 'No'), ('Med', 'Yes'), ('Med', 'No')]
Run Code Online (Sandbox Code Playgroud)
现在我想创建在我的组合列表中包含每个组合的字符串.这是效率低下的部分.我喜欢它,所以我不必硬连接"numind"列表的长度.有任何想法吗?
values = combinations
valuestring = []
if len(numind) == 0:
pass
elif len(numind) == 1:
for a in xrange(len(values)):
valuestring.append(numind[0][0]+values[a][0])
elif len(numind) == 2:
for …
Run Code Online (Sandbox Code Playgroud) 我有一个字符串,我想抓住"id"号码12079500908
.我正在尝试使用ast.literal_eval
但收到了一个ValueError: malformed string
.有没有其他方法可以id
从下面的字符串中获取数字?
doc_request = urllib2.Request("https://api.box.com/2.0/search?query=SEARCHTERMS", headers=doc_headers)
doc_response = urllib2.urlopen(doc_request)
view_doc_response = doc_response.read()
doc_dict=ast.literal_eval(view_doc_response)
Run Code Online (Sandbox Code Playgroud)
编辑 输出:
view_doc_response = '{"total_count":1,"entries":[{"type":"file","id":"12079500908","sequence_id":"1","etag":"1","sha1":"6887169228cab0cfb341059194bc980e1be8ad90","name":"file.pdf","description":"","size":897838,"path_collection":{"total_count":2,"entries":[{"type":"folder","id":"0","sequence_id":null,"etag":null,"name":"All Files"},{"type":"folder","id":"1352745576","sequence_id":"0","etag":"0","name":"Patient Files"}]},"created_at":"2013-12-03T10:23:30-08:00","modified_at":"2013-12-03T11:17:52-08:00","trashed_at":null,"purged_at":null,"content_created_at":"2013-12-03T10:23:30-08:00","content_modified_at":"2013-12-03T11:17:52-08:00","created_by":{"type":"user","id":"20672372","name":"name","login":"email"},"modified_by":{"type":"user","id":"206732372","name":"name","login":"email"},"owned_by":{"type":"user","id":"206737772","name":"name","login":"email"},"shared_link":{"url":"https:\\/\\/www.box.net\\/s\\/ymfslf1phfqiw65bunjg","download_url":"https:\\/\\/www.box.net\\/shared\\/static\\/ymfslf1phfqiw65bunjg.pdf","vanity_url":null,"is_password_enabled":false,"unshared_at":null,"download_count":0,"preview_count":0,"access":"open","permissions":{"can_download":true,"can_preview":true}},"parent":{"type":"folder","id":"1352745576","sequence_id":"0","etag":"0","name":"Patient Files"},"item_status":"active"}],"limit":30,"offset":0}'
Run Code Online (Sandbox Code Playgroud)
打电话doc_dict
给:
ValueError: malformed string
Run Code Online (Sandbox Code Playgroud) django ×4
python ×4
html ×2
django-forms ×1
forms ×1
formsets ×1
list ×1
postgresql ×1
sql ×1
string ×1