比方说我们有这样的情况:
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day', 'Sleep'],
['Work', 8, 8],
['Eat', 2, 8],
['TV', 4, 8],
['Gym', 2, 8],
]);
var options = {
title:'My Average Day',
vAxis: {title: 'Tasks'},
hAxis: {title: 'Hours per Day'},
seriesType:'bars',
series:{1:{type:'line'}}
};
var chart = new google.visualization.ComboChart(document.getElementById('chart1'));
chart.draw(data, options);
}
问题是:可以在<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart1" style="width: 900px; height: 500px;"></div>
函数中访问当前的租户名称,而无需将其作为参数传递或存储为 global 变量
答案 0 :(得分:1)
不可能,或者至少需要一些神奇的工程才能做到。
我假设您不想将其作为参数传递的唯一原因是因为其他事物也可能正在调用do_something
,而不会将tenant
作为参数传递。在这种情况下,请执行以下操作:
def do_something(context, tentant=None):
if tenant:
print (tenant)
else:
print ("do_something")
现在,您可以使用do_something
或do_something(context, tenant='Bob')
来呼叫do_something(context)
,两者都可以。
答案 1 :(得分:0)
我找到了解决方案,但我不知道它是否稳定。因此,可以通过dajngo.db
连接访问当前的承租人名称(或 schema_name ),如下所示:
from django.db import connection
schema_name = connection.schema_name