我有一个如下表。
ID DateFrom DateTo
33344 01-jan-2018 03-Jan-2018
33344 03-jan-2018 06-Jan-2018
33344 09-jan-2018 NULL
33344 10-jan-2018 NULL
这是我们接收数据的方式,因此在进入此阶段之前我无法对其进行任何控制。每个ID总是有一行,其中Dateto为NULL-我们假定这是该行中的最新日期。所有其他Dateto都应使用以下行DateFrom填充。尽管对于某些ID,只有一行数据应该是填充的DateFrom和NULL DateTo。例如,我上面想要的输出看起来像这样
ID DateFrom DateTo
33344 01-jan-2018 03-Jan-2018
33344 03-jan-2018 06-Jan-2018
33344 09-jan-2018 10-jan-2018
33344 10-jan-2018 NULL
如果再添加2列,则看起来像这样
ID DateFrom DateTo
33344 01-jan-2018 03-Jan-2018
33344 03-jan-2018 06-Jan-2018
33344 09-jan-2018 10-jan-2018
33344 10-jan-2018 15-jan-2018
33344 15-jan-2018 27-jan-2018
33344 27-jan-2018 NULL
我希望这有意义并且有人可以提供帮助?我不知道从哪里开始。谢谢杰西
答案 0 :(得分:1)
您需要from django.db.models import Coalesce, Sum, Value
@property
def earnings_per_share(self):
return Finance.objects.filter(
stock__stats=self
).aggregate(
total=Coalesce(Sum('net_income'), Value(0))
)['total'] / self.shares_outstanding
:
lead()
答案 1 :(得分:0)
您可以使用<div Class="box">
<p class="Add" id="conditional-tag">No. 60, Jalan Pendamar Indah 1B, Taman Pendamar Indah, Pelabuhan Klang, Selangor </p>
<div class="inner-box">
<img src="house.jpg" class="img">
</div>
<div class="wrapper">
<p class="Text-box">
<p class="Add" id="hideOnClick">No. 60, Jalan Pendamar Indah 1B, Taman Pendamar Indah, Pelabuhan Klang, Selangor</p>
<p class="text">2 Storey Terrace House</p>
<p>Size : 1,860/1,302 sq.ft</p>
<p>Tenure : Freehold</p>
<p class="Add-text">RM37,8000</p>
<span id="dots">...</span>
<span id="more">
<!--p style="font-weight: bolder;">No. 60, Jalan Pendamar Indah 1B, Taman Pendamar Indah, Pelabuhan Klang, Selangor</p-->
<p class="text">2 Storey Terrace House</p>
<p>Size : 1,860/1,302 sq.ft</p>
<p>Tenure : Freehold</p>
<p class="Add-text">RM37,8000</p>
</span>
</p>
<button onclick="myFunction()" id="myBtn">Read more ></button>
<script>
function myFunction() {
var dots = document.getElementById("dots");
var moreText = document.getElementById("more");
var btnText = document.getElementById("myBtn");
document.getElementById('hideOnClick').innerHTML = "Hello to the world";
document.getElementById('conditional-tag').style.display = "block";
if (dots.style.display === "none") {
dots.style.display = "inline";
btnText.innerHTML = "Read more";
moreText.style.display = "none";
document.getElementById('hideOnClick').innerHTML = "No. 60, Jalan Pendamar Indah 1B, Taman Pendamar Indah, Pelabuhan Klang, Selangor";
document.getElementById('conditional-tag').style.display = "none";
} else {
dots.style.display = "none";
btnText.innerHTML = "Read less >";
moreText.style.display = "inline";
}
}
</script>
</div>
</div>
。在lead()
中,您可以使用可更新的CTE:
update